我尝试通过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
}
我看了很多评论,但这对我没有帮助。 任何建议。 感谢
答案 0 :(得分:1)
您应该在new()方法调用中添加此选项。
kill_ssh_on_timeout => 0
如果您的代码现在没有超时,那么您就知道存在连接问题。
要获得更多帮助,只需添加此行即可查看所有错误:
$Net::OpenSSH::debug = ~0;