如何登录多台 UNIX 机器,这些机器的 IP 地址用 EXPECT 脚本保存到一个文件中,而我在登录前设置了用户名和密码?
问问题
1195 次
1 回答
0
大致:
set fh [open ip_file.txt r]
while {[gets $fh ip] != -1} {
spawn ssh $user@$ip
expect "assword:"
send -- $pass\r
# do stuff
send -- exit\r
expect eof
}
close $fh
在这种情况下,您最好为每台机器设置密钥(ssh-keygen、ssh-copy-id、ssh-agent、ssh-add)。然后你可以使用一个简单的shell脚本
while read ip; do
ssh $user@$ip << END_SSH
# don't need the password
# do stuff
END_SSH
done < ip_file.txt
于 2013-01-09T14:15:21.087 回答