SSH免密钥登录很简单,只需三四步就能部署完成。
测试环境:CentOS 6.6
步骤如下:
1. 在主机A上生成公钥和密钥!
[root@Nginx-Master ~]# ssh-keygen -t rsa #一直回车即可!
2. 上一步执行完成后,会在你当前登录的用户的宿主目录下生成一个.ssh的目录,在.ssh目录下会生成两个文件(id_rsa和id_rsa.pub)私钥和公钥
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!