SSH(Secure Shell)使用

什么是SSH?

传统的网络服务程序,如ftp,pop和telnet在本质上是不安全的,因为它们使用明文传送口令和数据,很容易被冒充真正服务器的中间人修改通信数据,影响你的正常通信。

SSH可以对你的数据进行加密,所以可以防止”中间人”攻击,DNS和IP欺骗,还一个好处是它对传输数据进行了压缩,可以加快传输的速度。

现在一般使用的是OpenSSH,开源免费。官方网站:http://www.openssh.com/

SSH是如何工作的?

从客户端来看,SSH提供两种级别的安全验证:

  • 基于口令的安全验证:只要知道自己的账号和密码就可以登录远程的主机,数据也都是加密的,但不能确定的是正在连接的服务器是不是你想到登录的服务器,也有可能受到”中间人”的攻击
  • 基于密匙的安全验证:需要自己创建一对密匙,并把公用密匙放在服务器上。如果你需要连接到SSH服务器上,客户端就会向服务器端发出请求,请求用你的密匙进行安全验证。服务器收到请求之后,先在服务器上找到公用密匙,再用这个密匙和你发送过来的进行比对。如果两个密匙一致,服务器就用公用密匙加密”质询”(challenge)并把它发送给客户端。客户端软件收到质询之后再用你的私人密匙进行解密再把它发给服务器。

对于控制我们的机器人,第一种方法就够了。

如何使用SSH远程登录?

Windows环境

可以使用PuTTY客户端,首先在官网下载。直接打开后输入远程主机的IP地址(也就是机器人的IP)。

putty
在登录界面输入用户名、密码,完成登录。

putty login
Linux

通常各种Linux发行版都会自带SSH客户端,可以使用ssh -V指令查看版本号,如果没安装可以通过yum或apt-get(取决你用的RedHat还是Debian衍生版)安装openssh-client。

$ ssh -V
ssh: SSH Secure Shell 3.2.9.1 (non-commercial version) on i686-pc-linux-gnu

用SSH登录到远程主机,最简单的办法就是使用ssh指令,指令格式是:ssh 主机名(IP地址)

$ ssh 192.168.1.137

当你第一次使用ssh登录远程主机时,会出现没有找到主机密钥的提示信息。输入”yes”后,系统会将远程主机的密钥加入到你的主目录下的 .ssh/hostkeys下,这样你就可以继续操作了。后面的操作跟Windows相同(因为你看到的已经是远程主机的登录界面,所以都一样)。

发表评论

电子邮件地址不会被公开。 必填项已用*标注