1.第一个脚本:登陆脚本(已知可能多组密码,自动验证登陆)
#!/usr/bin/expect -f
set passwdlist {public {1 2 2x} wls81 {1 2 zx}}
foreach {u p} $passwdlist {
spawn ssh $u@localhost
lassign $p s(1) s(2) s(3) #把密码列表分给数组
set i 1
puts $s(1),$s(2),$s(3)
expect {
*yes/no* {send "yes\r";exp_continue}
*assword:* {puts $u,$s($i);send "$s($i)\r";
incr i ; exp_continue}
#三次试密码,不成功再试用不同的密码试
*public* {send "echo Gooooood\r";interact}
#如果登陆成功就,echo Goooood
}
}解释:
用passwdlist 列出所有的用户与之对应的密码组
之后来个foreach
亮点是这里数组的应用,三次试密码机会,就用i++的方式来调用三个不同的密码
