希望通过Perl脚本在远程计算机上执行perl脚本。出现一个选项是使用system()函数并创建一个ssh密钥,因此不需要密码。这引出了我对这个问题的关注,另一个选择似乎是安装和运行其中一个perl模块:
除了使用的协议之外,我还应该与这些Perl模块进行比较?
答案 0 :(得分:15)
Net::OpenSSH文档中有section描述了每个文档的优缺点。以下是与您要询问的内容相关的一些摘录,但文档列出了更多内容:
Net::SSH 只是一个包装器 可用的SSH二进制命令 机。它们可能非常慢 为。建立新的SSH连接 每次进行的操作。
Net::SSH2 要好得多 Net::SSH::Perl,但不完全 稳定了。这可能非常困难 安装在某些特定的操作上 系统及其API也是有限的, 与Net::SSH::Perl一样。
Net::OpenSSH 非常有意义 接口。大多数业务都是 以非常类似的方式表演 Perl内置的和常见的 模块(即IPC::Open2)。
但是,选择平台可能会限制您的选择。
另一方面,Net::OpenSSH确实如此 不适用于Windows,甚至不适用于Windows Cygwin的。
当然,该列表偏向于Net::OpenSSH,但它让您了解模块之间的主要差异。