Net::OpenSSH 错误模块

Net::OpenSSH 错误模块

我是 CGI 脚本的新手,我尝试使用 Net::OpenSSH 连接到另一台服务器,但出现以下错误

#!/tools/openbin/perl/5.16.3/sparc-sun-solaris8/bin/perl

use strict;
use warnings;
use Net::OpenSSH;

my $host ="**********";
my $user_name = "*******";
my $password_value = "*********";
my $ssh = Net::OpenSSH->new(host => $host, user => $user_name, password => $password_value);
$ssh->error and die "SSH connection failed: " . $ssh->error;

这会出现以下错误:

命令行:第 0 行:错误的配置选项:ServerAliveInterval
SSH 连接失败:无法建立主 SSH 连接:密码错误或主进程在 ./test.pl 第 11 行意外退出。

答案1

根据 Net::OpenSSH文档

Solaris 捆绑的 SSH 客户端是 OpenSSH 的早期分支,不提供 Net::OpenSSH 所需的多路复用功能。您必须安装 OpenSSH 客户端。

预编译的软件包可从 Sun Freeware (http://www.sunfreeware.com)。在那里,选择您的操作系统版本和 CPU 架构,下载 OpenSSH 包及其依赖项并安装它们。请注意,您不需要配置 Solaris 来使用 OpenSSH 服务器 sshd。

确保 OpenSSH 客户端在系统 ssh 之前位于您的路径中,或者您可以将完整路径硬编码到您的脚本中,如下所示:

$ssh = Net::OpenSSH->new($host,
                     ssh_cmd => '/usr/local/bin/ssh');

AIX 以及可能的一些其他 unixen 也捆绑了缺少多路复用功能的 SSH 客户端,并需要安装真正的 OpenSSH。

相关内容