博客 2014-12-02

        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++的方式来调用三个不同的密码