如何使用EXPECT脚本登录保存到文件中的多个IP地址,而我在登录前设置了用户名和密码?

时间:2013-01-09 05:03:37

标签: expect

如何登录到多个将IP地址保存到带有EXPECT脚本的文件的UNIX机器上,而我在登录前设置了用户名和密码?

1 个答案:

答案 0 :(得分: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-keygenssh-copy-idssh-agentssh-add)。然后你可以使用一个简单的shell脚本

while read ip; do

ssh $user@$ip << END_SSH
# don't need the password
# do stuff
END_SSH

done < ip_file.txt