2

私のサーバーで実行され、顧客のサーバーでリモート(ssh経由)でコマンドを実行するスクリプト。問題は、sshを介した接続をテストするためのカスタマーサーバーとまったく同じプラットフォームがないことです。テストサーバーでは正常に動作しますが、カスタマーサーバーの前で動作すると、次のように終了します。

「切断メッセージを受信しました:ptyが割り当てられていません。/usr/cti/apps/CSPbase/Perl/lib/perl5/site_perl/5.8.8/Net/SSH/Perl/SSH2.pm行300のTelnetSSHでptyが必要です。」

このサーバーの前にあるコマンドラインでsshを実行すると、動作します...

$ssh = Net::SSH::Perl->new($ip);
$ssh->login($remoteUser, $remotePass) ;
($stdout, $stderr, $exit) = $ssh->cmd($cmd);

ここで何が問題になる可能性がありますか?

4

1 に答える 1

0

たぶん、テスト中に直接使用され、現在はある種のデーモンから実行されています(したがって、ptyは見つかりません)。

たぶん、いくつかのPerlモジュールがない/間違ったバージョン(Pty.pm)ですか?

両方のマシンで@INCをダンプし、違いを確認します。

よろしく、

于 2013-02-28T16:45:38.420 に答える