Linux批量建立信任关系,实现ssh无密码登陆的脚本
Linux批量建立信任关系,实现ssh无密码登陆的脚本
作用:
把当前机器的ssh公钥复制到其他机器,以实现从当前机器可以ssh无密码登陆到其他机器
使用方法:
1)把要添加的ip地址写入到一个文件中,比如host
2)把脚本保存为sh文件,如 install_ssh.sh 设置可执行权限
3)改写脚本中的密码设置,目前只支持固定几个密码。
4) 执行命令
sh install_ssh.sh
代码:
#!/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
评论暂时关闭