2

该脚本应该在我的服务器上运行并在客户服务器上远程(通过 ssh)执行命令。问题是我没有与客户服务器完全相同的平台来测试通过 ssh 的连接性。它可以在我的测试服务器上正常工作,但是在客户服务器前面工作时,它会以以下方式退出:

“收到断开连接消息:没有分配 pty,在 /usr/cti/apps/CSPbase/Perl/lib/perl5/site_perl/5.8.8/Net/SSH/Perl/SSH2.pm 第 300 行使用 Telnet SSH 需要 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 回答