首页 > 解决方案 > 使用 Putty 进行 SSH 忽略 Perl 中的所有警告

问题描述

我正在编写一个 Perl 脚本,以便从 Windows SSH 到远程 linux 和 maci 机器。plink为此,我正在使用qx. 问题是当我尝试运行plink命令时它会提示

服务器的主机密钥未缓存在注册表中。您无法保证服务器就是您认为的计算机。...... 如果您不信任此主机,请按 Return 放弃连接。将密钥存储在缓存中?(是/否)

我必须自动化远程运行命令的过程。所以,我想绕过这个警告。

我可以想到两种方法,但不知道如何完成这些

任何人都可以建议如何通过上述方式之一或其他一些解决方案来做到这一点。

标签: perlsshputtyplink

解决方案


plink我在提示时使用管道将 Y 传递给 - 解决了它echo Y | plink -ssh <user>@<host> -pw <password> <command>

有关更多详细信息,请参阅此答案。还要注意@clay 的回答,他说

对于内部服务器,盲回显 y | ...技巧可能就足够了(而且超级简单)。但是,对于通过 Internet 访问的外部服务器,接受一次服务器主机密钥比每次都盲目接受要安全得多。

我就是这种情况 - 我曾经使用plinkssh 连接到内部服务器。


推荐阅读