【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

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM