1

ソフトウェアは SUSE Enterprise Linux 11 SP2 で正常に動作していましたが、SP3 にアップグレードする必要がありました。Net::SSH2 ベースの Perl モジュールをアップグレードした後、エラーが発生せず、タイムアウトも発生せずにハングします。そこで、Net::SSH2 を使用して簡単なテスト スクリプトを作成しました。これは、SP2 マシンでは正常に実行されますが、SP3 では実行されません。ここにテストスクリプトがあります

#!/usr/bin/perl
use strict;
use warnings;

use Net::SSH2;

my ($host, $user, $password) = ("myhost", "myuser", "mypassword");

print "Before Net::SSH2-new()\n";
my $ssh = Net::SSH2->new();

print "Before ssh->Connect\n";
$ssh->connect($host);

print "Before ssh->auth_keyboard\n";
$ssh->auth_keyboard($user, $password);

print "Before ssh->Channel\n";
my $channel = $ssh->channel();

print "Before Channel->blocking(0)\n";    
$channel->blocking(0);

print "Before Channel->exec\n";    
my $rt = $channel->exec("hostname");
print "The return value is: $rt \n";

#Closing connection
$channel->close;
$ssh->disconnect;

SP3サーバーでは、次のように出力されています

myuser@myhost:~> perl  test_ssh  
Before Net::SSH2-new()

そして、何もありません。しかし、SP2 サーバーでは問題なく動作しています。誰かがこの問題の原因を教えてもらえますか?

4

0 に答える 0