SSH免密钥登录很简单,只需三四步就能部署完成。

测试环境:CentOS 6.6 

步骤如下:

   1.  在主机A上生成公钥和密钥!

[root@Nginx-Master ~]#  ssh-keygen -t rsa       #一直回车即可!wKiom1YCZvDBs6pwAAHjNuMCDCo129.jpg

   2.  上一步执行完成后,会在你当前登录的用户的宿主目录下生成一个.ssh的目录,在.ssh目录下会生成两个文件(id_rsa和id_rsa.pub)私钥和公钥

wKioL1YCaFuxuE8_AABVZF-YXeQ303.jpg

3.  将公钥(id_rsa.pub)移动到要免密码登录的服务器的用户家目录下的.ssh目录下并改名为authorized_keys 

[root@Nginx-Master ~]# scp  ~/.ssh/id_rsa.pub  user@serverBip:/home/user/.ssh/authorized_keys     

Remarks: 如果需要免密钥登录的服务器的用户家目录下的.ssh目录下已经有authorized_keys这个文件了,那么就将公钥追加到这个文件中,如果覆盖了里面的内容就更改了!(此内容只适合多台服务器免密钥登录这台服务器)

4.  给目录及文件权限:

    chmod 700 /home/user/.ssh

    chmod 600 /home/user/.ssh/authorized_keys

5.  测试

    使用serverA  SSH serverB,没提示输入密码及成功,第一次登录会提示让你输入"YES"!


Remarks:  如果您的需求是:下面有N多台服务器需要免密钥登录,那么这个公钥文件会要SCP多少回了?所有您可以在你的serverA上部署下WEB服务,然后把公钥拷贝到网站根目录下,在其他的服务器上通过WEB来下载这个公钥,然后可以写一个很简单很简单的脚本来执行步骤3、4!