鱼儿慢慢游~~

导航

 

实现了 主机到指定机器的ssh免密码登录。 若要实现互通, 则在机器列表的每台机器上执行该脚本。

192.168.1.22 root test
192.168.1.25 root test
192.168.1.26 root test

info.list 如上结构。

脚本使用expect命令,需要安装expect包,centos下使用 yum instal expect

#!/usr/bin/expect
set info [open "info.list" r]
set ips [list]
while {[gets $info line] != -1} {
    #scan $line "%s %s %s" ip user pass
    lappend ips $line
}
puts $ips
close $info
#轮询调用ssh
-keygen foreach line $ips { scan $line "%s %s %s" ip user pass puts $ip
#移到循环外面 spawn ssh
-keygen -t rsa &>/dev/null spawn ssh-copy-id -i /root/.ssh/id_rsa.pub $user@$ip #输入登录密码 expect { "(yes/no)?" { send "yes\r" expect "password:" { send "$pass\r" expect "*denied*"{puts "wrong pass"; exit 2} } } "password:" { send "$pass\r" expect "*denied*" {puts "wrong pass"; exit 2} } } }

 

posted on 2016-09-26 15:56  miss_UU  阅读(505)  评论(0编辑  收藏  举报