Net :: OpenSSH ошибка модуля

466
Hemant Chowdary

Я новичок в 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
Toto

Согласно документации 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.