Linux多台机器之间的免密登录设置
前提:
首先你要有多台服务器,如果没有,参考:https://www.cnblogs.com/luzhanshi/p/13369799.html
配置映射[可选操作]
1.为了我们今后进行免密登录时不必要输入难记的IP,我们可以先将三台服务器的ip做一个映射:
修改/etc/hosts文件,添加如下代码(假设我们只有三台服务器):
192.168.157.133 my.server01 server1 192.168.157.134 my.server02 server2 192.168.157.135 my.server03 server3 格式说明: 服务器1IP 服务器1的计算机名 别名 服务器2IP 服务器2的计算机名 别名 服务器3IP 服务器2的计算机名 别名
这样我们就可以使用ssh server1而不用使用ssh 192.168.157.133;
ssh配置免密之前
从上面我们可以看出虽然多服务器之间可以访问,但是需要密码,那么我们应该怎么设置才不需要密码呢?
配置免密
1.在第一台服务器执行:
ssh-keygen -t rsa
2.将公钥发送给需要免密的机器上
ssh-copy-id -i ~/.ssh/id_rsa.pub ‘用户名’@‘发送的机器的ip地址’
ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.157.134
注意,以上操作之后需要重新启动三台服务器
测试:
以上配置,只是实现了server1登录server2和server3的免密,逆向则不免密!!!
如果需要两两之间实现互相免密,则每个服务器需要重复上面操作,即server2上执行
ssh-keygen -t rsa
然后执行
ssh-copy-id -i ~/.ssh/id_rsa.pub ‘用户名’@‘发送的机器的ip地址’
发送到的是server1和server3
server3同样重复上面操作
测试:
如果要退出免密登录的服务器返回到之前的服务器,则使用exit命令