期望永远不会匹配模式

时间:2014-06-01 16:01:22

标签: linux bash ssh expect

我正在尝试编写一个自动输入密码的脚本,但似乎期望永远不会与模式匹配。

#!/usr/bin/expect --

set pass "test"
set timeout 5

spawn sudo ssh -i ~/.ssh/id_rsa StrictHostKeyChecking=no vongrad@localhost

expect {
  timeout { send_user "\nFailed to get password prompt\n"; exit 1 }
  "*ssword*" {
    send "$pass\r"
  }
}

你有什么建议吗?

1 个答案:

答案 0 :(得分:0)

使用密钥(没有密码)登录而不是在脚本中编写的密码怎么样?这样你就可以避免被ssh提示输入密码。 例如,如下所述:http://www.thegeekstuff.com/2008/11/3-steps-to-perform-ssh-login-without-password-using-ssh-keygen-ssh-copy-id/