Linux期望命令模拟

时间:2011-12-13 18:00:46

标签: linux shell expect

在开发shell脚本以从许多远程服务器复制日志时,我发现了一个问题,我需要为每个服务器的每个ssh连接传递密码(这让我非常紧张:))。我知道使用密钥更好,但是由于我们的管理员,添加它们的过程将花费大量时间。作为一个选项,我发现可以使用expect命令,但它没有安装在我们的服务器上,安装也需要很多时间。

那么,是否可以通过普通shell脚本模拟expect命令行为,以非交互方式将密码传递给ssh?

1 个答案:

答案 0 :(得分:1)

如果您有权访问编译器,则应该能够从源代码编译expect。如果expect难以编译,请尝试empty,这是一个非常小而简单的程序 - 如果有任何编译,它也应该。 Here是使用它来自动执行ssh登录的一个示例。

请注意其他人是正确的:ssh密钥是您的朋友,而expectempty通常只是丑陋且不安全的解决方法。