使用Putty-to-SSH忽略Perl中的所有警告
我正在编写一个Perl脚本,从windows平台将SSH写入远程linux和maci机器。为此,我使用使用Putty-to-SSH忽略Perl中的所有警告,perl,ssh,putty,plink,Perl,Ssh,Putty,Plink,我正在编写一个Perl脚本,从windows平台将SSH写入远程linux和maci机器。为此,我使用qx运行命令。问题是,当我尝试运行plink命令时,它会给出提示 服务器的主机密钥未缓存在注册表中。你 无法保证服务器就是您的计算机 我想是。。。。。。如果您不信任此主机,请按Return放弃该主机 连接。在缓存中存储密钥?(是/否) 我必须自动化远程运行命令的过程。所以,我想绕过这个警告 我可以想出两种方法,但不知道如何实现这些 通过一些命令行选项或其他命令,以某种方式绕过putty本身的警
qx
运行命令。问题是,当我尝试运行plink
命令时,它会给出提示
服务器的主机密钥未缓存在注册表中。你
无法保证服务器就是您的计算机
我想是。。。。。。如果您不信任此主机,请按Return放弃该主机
连接。在缓存中存储密钥?(是/否)
我必须自动化远程运行命令的过程。所以,我想绕过这个警告
我可以想出两种方法,但不知道如何实现这些
- 通过一些命令行选项或其他命令,以某种方式绕过putty本身的警告
- 提示时将输入传递给plink的某种Perl方式
任何人都可以建议如何通过上述方法或其他解决方案来实现这一点。当提示时,我使用管道将Y传递到
plink
,并将其发送到echo Y|plink-ssh@-pw
有关更多详细信息,请参阅。还请注意@clay的答案,他说
对于内部服务器,盲回显y |。。。这个技巧可能已经足够了(而且非常简单)。但是,对于通过internet访问的外部服务器,一次接受服务器主机密钥比每次盲目接受要安全得多
我就是这样-我使用
plink
以ssh方式连接到内部服务器。你能使用非plink解决方案吗,例如,或者?为什么你不能安装它们?哇,这就像WTF的层。我希望expect
能帮助解决这个问题。。。(以防你发现的黑客失败)请参阅。因此,请不要发布重复的答案。以重复的形式结束你的问题。这是我为我的问题找到的解决方法。但正如我所说,可能有更多的Perl(ish)方法来完成这件事,我不知道。使用Expect
是@zdim建议的一种方法,但我认为它与windows不兼容。更完美的方法是使用SSH的本机Perl实现,而不是Plink。