【Linux】服务器之间的免密登录脚本
在实际运维的过程中,经常需要用到免密登录,下面这个脚本实现服务器之间的免密登录,如下
比如,要实现A服务器与B、C、D服务器的免密登录,只需要将B、C、D服务器的IP地址写在serverlist.txt中,然后在A服务器上执行下面这一段命令即可。
#!/bin/bash #免密登录脚本 #作者:海蓝之心赛 #使用说明 #在和本脚本同级目录下,创建一个名为serverlist.txt的文件,将需要做免密登录的服务器ip地址列表写在serverlist.txt中,每个IP地址占用一行。 #特殊说明,serverlist.txt请在linux服务器中创建,在Windows上创建容易出现编码问题,导致免密登录失败。 current=`pwd` serverlist=`cat $current/serverlist.txt` mkdir -p /root/.ssh ssh-keygen -t rsa -P '' for ip in $serverlist do echo "#$ip no password." ssh root@$ip 'mkdir -p /root/.ssh 2>/dev/null' cat /root/.ssh/id_rsa.pub | ssh root@$ip 'cat >> /root/.ssh/authorized_keys && chmod 600 /root/.ssh/authorized_keys' done