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