Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Putty-to-SSH忽略Perl中的所有警告_Perl_Ssh_Putty_Plink - Fatal编程技术网

使用Putty-to-SSH忽略Perl中的所有警告

使用Putty-to-SSH忽略Perl中的所有警告,perl,ssh,putty,plink,Perl,Ssh,Putty,Plink,我正在编写一个Perl脚本,从windows平台将SSH写入远程linux和maci机器。为此,我使用qx运行命令。问题是,当我尝试运行plink命令时,它会给出提示 服务器的主机密钥未缓存在注册表中。你 无法保证服务器就是您的计算机 我想是。。。。。。如果您不信任此主机,请按Return放弃该主机 连接。在缓存中存储密钥?(是/否) 我必须自动化远程运行命令的过程。所以,我想绕过这个警告 我可以想出两种方法,但不知道如何实现这些 通过一些命令行选项或其他命令,以某种方式绕过putty本身的警

我正在编写一个Perl脚本,从windows平台将SSH写入远程linux和maci机器。为此,我使用
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。