【发布时间】:2010-05-21 02:59:38
【问题描述】:
我目前有一个脚本可以通过 ssh 连接到另一台服务器并运行命令。当 ssh 命令在提示中运行时,如果我想连接(是/否)并输入密码。有没有办法在 ssh 调用时自动为提示提供输入?
另外,我确实意识到在 ssh 命令中使用公钥可以解决这个问题,但我没有创建公钥的权限。
【问题讨论】:
我目前有一个脚本可以通过 ssh 连接到另一台服务器并运行命令。当 ssh 命令在提示中运行时,如果我想连接(是/否)并输入密码。有没有办法在 ssh 调用时自动为提示提供输入?
另外,我确实意识到在 ssh 命令中使用公钥可以解决这个问题,但我没有创建公钥的权限。
【问题讨论】:
Don Libes 创建了Expect,正是为了让您可以编写需要与提示交互的工具。我什至将它与调制解调器一起使用!这是一个非常古老但非常有效的工具,值得更广为人知。
唯一的缺点是它使用了 Tcl,这不是我最喜欢的编程语言。但是学习足够多的 Tcl 来制作简单的期望脚本不会花费你一个多小时。而 Expect 确实是完成这项工作的完美工具。
【讨论】:
您可以下载和安装外部工具吗?如果您可以尝试,请尝试sshpass。我没试过,但你可以试一试。
【讨论】: