红联Linux门户
Linux帮助

Linux批量建立信任关系,实现ssh无密码登陆的脚本

发布时间:2015-07-12 21:27:24来源:未知作者:hl

作用:

把当前机器的ssh公钥复制到其他机器,以实现从当前机器可以ssh无密码登陆到其他机器


使用方法:

1)把要添加的ip地址写入到一个文件中,比如host

2)把脚本保存为sh文件,如 install_ssh.sh 设置可执行权限

3)改写脚本中的密码设置,目前只支持固定几个密码。

4)执行命令

sh install_ssh.sh <host


代码:

#!/bin/sh

auto_ssh_copy_id() {
local HOST=$1
local PASSWD=$2
expect -c "set timeout -1;
spawn ssh-copy-id root@$HOST
expect {
*publickey* {exit 1;}
*(yes/no)* {send yes\r; exp_continue;}
*password* {send \"$PASSWD\r\"; exp_continue;}
** {send \"$PASSWD\r\"; exp_continue;}
}";
}

#eof {exit 0;}
passwd1='noSafeNoWork@2014'
passwd2='SafetyFirst@426'
passwd3='ddd@2008'
passwd4='123456'
passwd5='asdasd'
passwd6='12345'
while read line; do
echo "$line" >&2
isSucceed='FALSE'
for pw in $passwd1 $passwd2 $passwd3 $passwd4 $passwd5 $passwd6
do
if auto_ssh_copy_id "$line" $pw
then
isSucceed='TRUE'
break;
fi
done

if [ $isSucceed != 'TRUE' ]; then
echo 'NOTSUCC' $line
fi
done


Linux(Centos)配置OpenSSH无密码登陆:http://www.linuxdiyf.com/linux/4568.html

Linux(CentOS)SSH无密码验证登陆:http://www.linuxdiyf.com/linux/12516.html

如何设置Ubuntu 14.04的SSH无密码登录:http://www.linuxdiyf.com/linux/10625.html