Linux服务器之间的免密登录脚本

Posted 郑立赛

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 [email protected]$ip mkdir -p /root/.ssh 2>/dev/null
    cat /root/.ssh/id_rsa.pub | ssh [email protected]$ip cat >> /root/.ssh/authorized_keys && chmod 600 /root/.ssh/authorized_keys
done

 

以上是关于Linux服务器之间的免密登录脚本的主要内容,如果未能解决你的问题,请参考以下文章

Linux_185_基于公钥的免密登录原理

Linux ssh 两台服务器之间的免密通讯

Linux 普通用户之间免密登陆

Linux系统命令"su - user"在普通用户之间的免密切换

ssh-免密登录批量发送脚本

配置hadoop的免密登录