Perl SSH错误 - 被信号1杀死

时间:2016-08-09 08:40:14

标签: perl ssh

我尝试通过SSH连接,并收到错误消息“被信号1杀死。”

这是我的代码。

use CGI;
use Net::OpenSSH;

my $machineCon = 'my-server';
my $username = 'my-username';
my $password = 'my-password';

$ssh_obj = Net::OpenSSH->new(
    $machineCon,
    strict_mode => 0,
    master_opts => [-o => "StrictHostKeyChecking=no"],
    ctl_dir => "/tmp/",
    timeout => 200,
    strict_mode => 0,
    user     => $username,
    password => $password,
    ssh_cmd => '/usr/bin/ssh'
);

if( !$ssh_obj->error )
{
    # Is my process running?
    my $PROC = $ssh_obj->capture( "pwd" );
    print $PROC;
}
else
{
     print $ssh_obj->error
}

我看了很多评论,但这对我没有帮助。 任何建议。 感谢

1 个答案:

答案 0 :(得分:1)

您应该在new()方法调用中添加此选项。

kill_ssh_on_timeout => 0

如果您的代码现在没有超时,那么您就知道存在连接问题。

要获得更多帮助,只需添加此行即可查看所有错误:

$Net::OpenSSH::debug = ~0;