集群内服务器做非root用户免秘钥登陆:
1、node1新建用户abc1,制作公钥、私钥(一路回车键即可)
ssh-keygen –t rsa
将自动在/home/abc1/.ssh/目录下创建公私钥文件如下:
cd /home/abc1/.ssh/
id_rsa(私) id_rsa.pub(公)
2、将id_rsa.pub内容追加到authorized_keys(可先创建一个空文件)
cat id_rsa.pub >>authorized_keys
chmod 600 authorized_keys(赋予600的权限,不然免密码登陆无效)
3、node2重复node1的公私钥创建过程,将node1的authorized_keys文件拷贝至node2节点.ssh/目录下:
scp ~/.ssh/authorized_keys abc2@node2:~/.ssh/
4、再将node2中的id_rsa.pub内容追加到authorized_keys(从node1拷贝过来的)
cat id_rsa.pub >>authorized_keys
5、集群内所有节点可同样操作,直到最后一个节点中的authorized_keys将有所有节点的公钥信息,再将此文件依次拷贝至左右节点,至此所有节点将实现免秘钥登陆
6、填坑记录
坑一:
/home/xxx的权限为 700
.ssh 文件夹的权限也为700
authorized_keys 文件权限为600
否则,不能实现免密码登录。
坑二、
集群做了免秘,已能正常免秘访问,之后新加入一个台主机,同样做了免秘,发现老主机能免秘登陆到新主机,但新主机无法免秘登陆到老主机,将坑一梳理一遍仍然
无法解决,最后检查authorized_keys这个文件,发现新主机的公钥内容格式不对(看起来没什么差别,但你通过上下键就能发现与之前主机公钥不同),调整公钥格式
后,问题解决。