三台机器分别为node1,node2,node3,
需求:三台机器两两之间都需要让root用户免密码登录
1、以node1为起始机开始配置
以root权限登录
然后使用ssh-keygen -t rsa 生成密钥与公钥,需要敲3次回车键,默认放在~/.ssh/目录下,
然后使用cat ~/.ssh/id_rsa.pub>>~/.ssh/authorized_keys
2、使用scp ~/.ssh/authorized_keys root@node2:~/.ssh 命令复制到node2机器上;
3、对node2执行1步操作;
4、使用scp ~/.ssh/authorized_keys root@node3:~/.ssh 命令复制到node3机器上;
5、对node3执行1步操作;
6、然后node3上的authrorized_keys 分发到node1与node2上;
7、最后对node1、node2、node3的~/.ssh文件夹与~/.ssh/authorized_keys赋权
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
8、最后三台机器就能互相使用root权限免密码登录。
结束语:
写到最后,配置ssh免密码登录本身很简单,原理是node1要登录到node2,需要node1生成公钥与私钥,然后将node1的公钥发送到node2后,在node1上使用ssh root@node2的机器时需要将ip 与用户名等信息发送到node2上,与公钥验证找到相对应的ip与用户,然后将公钥信息返回给node1,然后与私钥配对,配对成功就登录成功。
具体参见下图(此图摘自:https://www.cnblogs.com/kex1n/p/6017963.html?utm_source=itdadao&utm_medium=referral):
最后:在设置hosts 时请不要修改 127.0.0.1 与0.0.0.1后面的内容,否则会造成ssh免密码配置不成功。
网友评论