linux - 期望从不匹配模式

标签 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"
  }
}

你有什么建议吗?

最佳答案

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

关于linux - 期望从不匹配模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23981719/

相关文章:

MySQL 通过 Hibernate 在 Linux 中区分大小写

linux - 在 Windows 上将程序作为(linux 风格)前台终端进程运行?

linux - 使用IP对文件进行排序

Python - Bash - 随机数

python - 需要一种方法来计算 python 脚本中 unix 命令的执行时间

linux - 使用正则表达式用 sed 删除第一行

由于区域设置,Python 测试在 Gentoo 上通过而在 Ubuntu 上失败?

ssh - ssh-add 和 ssh-agent 有什么区别?

bash - 通过 DevOps SSH 任务访问管道变量

linux - 不允许使用 RSA key