1. 序
环境:
三台CentOS服务器组成的集群。
- master
- slave1
- slave
目标:
服务器节点间完成root用户、普通用户user的SSH无密码访问。
2. 制作公钥私钥
2.1 登录master、slave1、slave2生成其公钥、私钥文件
#登录master
#切换到user目录下的.ssh文件夹:
cd /home/user/.ssh
#生成一个密码为空的公钥和私钥
ssh-keygen -t rsa -P ''
#将slave1中的公钥,拷贝至master
ssh-copy-id -i /home/user/.ssh/id_rsa.pub user@master
三次回车后,将会生成id_rsa,id_rsa.pub文件;
同理在slave1和slave2上生成其对应的公钥和私钥文件。
2.2 将slave1,slave2的公钥拷贝至master
#首先,将master自身公钥,拷贝至authorized_kwys中
cat id_rsa.pub >> authorized_kwys
登录其他主机slave1,slave2中,进入user下的.ssh文件夹:
#将slave1的公钥拷贝至master
ssh-copy-id -i /home/user/.ssh/id_rsa.pub user@master
同理,
#将slave2的公钥拷贝至master
ssh-copy-id -i /home/user/.ssh/id_rsa.pub user@master
2.3 拷贝master中authorized_keys文件到slave1和slave2
(1)普通用户需要给文件authorized_keys权限设置为600#切换到master服务器的/home/user/.ssh下
chmod 600 authorized_keys(2)拷贝到slave1 和 slave2
scp /home/user/.ssh/authorized_keys slave1:/home/user/.ssh/
scp /home/user/.ssh/authorized_keys slave2:/home/user/.ssh/
至此, 免密码登录已经设定完成,注意第一次ssh登录时需要输入密码,再次访问时即可免密码登录。