我必须每天,一遍又一遍地进入许多设备...我可以用bash&期待此脚本:
#!/usr/bin/expect
spawn ssh hostname -l username
expect "password:"
send "secretn"
interact
大多数设备都需要" root"作为登录,因此上述脚本可以很好地工作。我想修改上面的脚本以尝试登录一次,如果失败,请切换到另一个用户名,并提示我获取密码。这可能吗?
我知道键以及脚本中密码的不良练习,在我的情况下,这并不重要。
男人页面有很多很棒的例子。
expect {
"string that indicates success" {
}
"string that indicates failure" {
close
stty -echo
send_user "Enter password: "
expect_user -re "(.*)n"
send_user "n"
send "$expect_out(1,string)r"
stty echo
}
}
interact