1

Я новичок в 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 ответ1

1

Согласно документации Net::OpenSSH:

Клиент SSH, поставляемый в комплекте с Solaris, является ранним форком OpenSSH, который не обеспечивает функции мультиплексирования, требуемые Net::OpenSSH. Вам нужно будет установить клиент OpenSSH.

Предварительно скомпилированные пакеты доступны от Sun Freeware (http://www.sunfreeware.com). Там выберите свою версию ОС, архитектуру процессора, загрузите пакет OpenSSH и его зависимости и установите их. Обратите внимание, что вам не нужно настраивать Solaris для использования сервера SSSS OpenSSH.

Убедитесь, что клиент OpenSSH находится на вашем пути до системы ssh или, альтернативно, вы можете жестко закодировать полный путь в ваших скриптах следующим образом:

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

AIX и, возможно, некоторые другие Unixen также включают в себя SSH-клиенты, которым не хватает функциональности мультиплексирования, и требуют установки реального OpenSSH.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .