一、环境
假若有3台服务器node1 node2 node3
在sshd_config文件中打开RSA非对称密钥验证
vi /etc/ssh/sshd_config
1
去掉注释以下两行注释
RSAAuthentication yes 有些版本的服务器可能没有这一行
PubkeyAuthentication yes
1
2
3
二、设置免密登录
1、生成秘钥对
所有主机都执行
ssh-keygen -t rsa
1
生成key,不用输入密码,一直回车,生成密钥对放在 ~/.ssh 目录(ls -al可查看)
2、主机node1执行
id_rsa.pub是公钥文件
cd ~/.ssh 进入到.ssh目录
将id_rsa.pub文件内容重定向到authorized_keys文件
cat id_rsa.pub >> authorized_keys
1
2
3
3、主机node2与node3执行
node2执行:scp -r authorized_keys root@node1:~/.ssh/id_rsa.pub_2
node3执行:scp -r authorized_keys root@node1:~/.ssh/id_rsa.pub_3
1
2
4、主机node1执行
将node2和node3的公钥追加到authorized_keys文件中
cat id_id_rsa.pub_2 >> authorized_keys
cat id_id_rsa.pub_3 >> authorized_keys
1
2
目前authorized_keys中有了三个主机的公钥
将authorized_keys文件复制给其他主机
cp -r authorized_keys root@node2:~/.ssh/authorized_keys
cp -r authorized_keys root@node3:~/.ssh/authorized_keys
1
2
三、测试
执行ssh将不再需要密码
ssh node2
ssh node3