在搭建好各个虚拟机之后,当我们需要远程连接别的虚拟机的时候,每次都需要重新输入连接虚拟机的密码,为此我们就需要设置SSH的互联免密码登录,只要设置好了SSH免密码登录,即使在信息传输过程中发生了窃听,被其他人截获内容,没有接收方的私钥也不能解开内容。而密码登录的原理就是依靠密钥,也就是自己生成一对密钥,然后把公钥放到服务器上,当我们需要通过ssh连接到服务器的时候,客户端就会向服务器端发送请求,服务器端接受到请求之后,就会用自己的公钥和从客户端发过来的公钥进行比较,如果两个密钥一致,服务器端就用公钥进行加密,并发回到客户端,此时的密钥又称为了质询(challenge)。当客户端收到质询之后就可以用发过来的私人密钥进行解密在发回到服务器端,服务器端比较两个质询是否一致,如果一致则建立会话,连接成功。
上面是SSH免密码登录的原理,下面我们用实际的操作演示一下如何进行SSH免密码登录:
1、使用ssh-keygen –trsa命令生成一对密钥:
这里可以看到密钥生成的相对路径,我们可以使用ls 命令查看密钥文件:
可以使用ls –l命令查看密钥文件的权限,如果权限和图片上的不一致,则需要使用chmod命令赋予权限:
2、将yx1服务器上产生的公钥拷贝到yx2上:
此时在连接yx2服务器的时候就不需要再次输入密码了,这样SSH的互联免密码登录就完成,当然从服务器2连接到服务器1也需要设置免密码,方法和上面一样,对于服务器1连接自己,也需要设置免密码登录,不管怎么连接,只要想免密码登录,就需要把公钥文件中的内容拷贝到对应服务器上的密钥文件中。
下一篇博客我们介绍搭建Hadoop集群的方法。