ssh多台服务器互相配置免密登录
2023-10-30 本文已影响0人
刘大坝
ssh多台服务器互相配置免密登录
假设有如下四台服务器
主机名 | IP地址 | 免密码用户名 |
---|---|---|
node01 | 192.168.8.1 | root |
node02 | 192.168.8.2 | root |
node03 | 192.168.8.3 | root |
node04 | 192.168.8.4 | root |
一、确认sshd配置
查看每一台服务器的 /etc/ssh/sshd_config文件,确认AuthorizedKeysFile一行配置没有被注释掉:
# but this is overridden so installations willcheck .ssh/authorized keys
AuthorizedKeysFile .ssh/authorized_keys
#AuthorizedPrincipalsFile none .....
二、修改hosts配置主机名(可选)
用root账号登录服务器,修改/etc/hosts文件,hosts文件末尾添加:
192.168.8.1 node01
192.168.8.2 node02
192.168.8.3 node03
192.168.8.4 node04
三、在每一台服务器上生成rsa秘钥
分别登录四台服务器执行以下命令。并且连续按三次回车键(生成一个无密码的rsa秘钥),
ssh-keygen -t rsa
在每一台服务期下,会生成两个密钥文件,密钥会生成在~/.ssh目录下
id_rsa #私钥
id_rsa.pub #公钥
四、依次将公钥写入认证文件
首先登录 node01(192.168.8.1),执行以下命令,将本台机器的ras公钥(追加)写入~/.ssh/authorized_keys文件中,然后传输到node02服务器,第一次执行scp命名都需要输入密码
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
scp ~/.ssh/authorized_keys root@node02:~/.ssh/authorized_keys
再登录 node02(192.168.8.2),将node02服务器的ras公钥(追加)写入~/.ssh/authorized_keys文件中 然后传输到node03服务器.
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
scp ~/.ssh/authorized_keys root@node03:~/.ssh/authorized_keys
再登录 node03(192.168.8.3),执行同样的追加操作
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
scp ~/.ssh/authorized_keys root@node04:~/.ssh/authorized_keys
登录 node04(192.168.8.4),执行追加操作,然后把~/.ssh/authorized_keys文件分别传入node01、node02、node03
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
scp ~/.ssh/authorized_keys root@node01:~/.ssh/authorized_keys
scp ~/.ssh/authorized_keys root@node02:~/.ssh/authorized_keys
scp ~/.ssh/authorized_keys root@node03:~/.ssh/authorized_keys
五、验证
ssh -T node01
#ssh -T 192.168.8.1
ssh node01
#ssh 192.168.8.1