linux ssh互信配置 - 服务器间免密码登陆

linux ssh互信配置 - 服务器间免密码登陆

1.简介

        相信大家都有一个经历,服务器间登陆、scp拷贝操作时,让你输入被登陆、被拷贝服务器的密码。

不知道各位是什么感受,我是很崩溃的,因为我哪记得那么多密码啊(好吧,我就是记性不好)。这就引出了

服务器之间免密码登陆的需求了,官方一点,叫做ssh互信配置。

        ssh互信配置的原理简单来说,就是各自服务器存放了目标主机的证书,当执行登陆时,自动完成认证,从而

不需要再输入任何密码。

2.配置过程

        为了简单明了说完这个过程,以下不详细解释每个命令(请自行google):

         ① 登陆服务器A

         ② 建立ssh相关目录:  mkdir  ~/.ssh

         ③ 设置ssh的权限:   chmod  700  ~/.ssh

         ④ 生成RSA公钥:       ssh-keygen -t rsa     (请一直回车,直至提示结束)

         ⑤ 将公钥(名为id_rsa.pub文件)追加到认证文件(名为authorized_keys文件)中:

                                            cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys 

         ⑥ 设置认证文件的权限:

                                            chmod 600 ~/.ssh/authorized_keys

 

          OK,服务器A的配置就差不多了,服务器B,服务器C等的操作与此一模一样。但是有一个地方需要提醒,

最后服务器A,B,C三台的 authorized_keys 文件中应该包含这三台服务器的公钥,不然配置会失败。你可以这样做,

在A上生成好authorized_keys后,把它拷贝到机器B,在B上将B的公钥信息追加到authorized_keys后,将它拷贝到

C,在C上将C的公钥信息追加到authorized_keys后,再将这最终的authorized_keys拷贝会机器A和B,并覆盖A和B

原来的authorized_keys的文件。如果你不这样做的话,你可能会遇到,从服务器A   ssh到  服务器B,不用输密码,但是反过来就需要输密码的问题了。

你可能感兴趣的:(Linux)