SSH预计密码问题与登录

时间:2012-06-12 17:49:38

标签: ssh

您好我有以下脚本登录我的服务器。

  spawn ssh presnetwork@192.168.244.14
                              expect "*(yes/no)?"
                             send "yes"
                                expect  "password:"
                                  send  "pwd\n"
                              close

它运行正常,但它没有将'pwd'值传递给系统,因此脚本超时并退出。 有什么建议吗?

2 个答案:

答案 0 :(得分:1)

您可以尝试将“KbdInteractiveAuthentication”设置为“no” (ssh -o KbdInteractiveAuthentication="no" presnetwork@192....)。默认情况下,SSH使用键盘交互式身份验证,expect可能无法理解。

我强烈建议您使用公钥身份验证(如Flo已推荐的那样)。它更容易处理,更安全,更舒适。如果您只是想要一种登录远程服务器而无需每次都输入密码的方法,请查看ssh-agent,它会在您输入一次之后为您存储密码您的桌面会话。如果您确实不想输入密码,请使用pam_ssh,其中将使用您的桌面登录密码。

答案 1 :(得分:0)

默认情况下,尚未安装expect命令。因此,您可以安装它以获得正确的输出。