Как передать пароль, используя Net :: SSH в Perl? - PullRequest
0 голосов
/ 03 апреля 2012

Я стараюсь избегать использования библиотеки Net :: SSH :: Perl, так как есть некоторые проблемы при установке модуля с использованием CPAN. Установка вручную кажется слишком сложной, когда я вижу, что это зависит от длинного списка других модулей Perl.

Чего я пытаюсь добиться, так это войти в SSH с моим именем пользователя и паролем. Затем мне нужно будет выполнить несколько команд и извлечь некоторые файлы с сервера, используя SSH.

Я знаю, как передать имя пользователя, имя хоста и команду с помощью "ssh ($ username. @". $ Ip, $ command) или умереть "SSH fails!"; ". Тем не менее, я получаю это сообщение об ошибке:

ssh: connect to host XX.XX.XX.XXX port 22: Connection refused

где XX.XX.XX.XXX - это имя хоста или IP-адрес моего компьютера, и он находится в подсети как сервер, с которого я пытаюсь получить файлы.

Кто-нибудь знает, как я могу передать пароль в SSH или познакомить меня с хорошими учебниками по Net :: SSH? Большинство учебных пособий, которые я нашел в Интернете, находятся на Net :: SSH :: Perl, а не на Net :: SSH.

1 Ответ

0 голосов
/ 06 апреля 2012

Вы видели этот раздел FAQ документации Net :: SSH?

В: Как вы предоставляете пароль для соединения с ssh в сценарии perl с использованием модуля Net :: SSH?

A: Нет (по крайней мере, с этим модулем).Используйте ключи RSA или DSA.См. Быструю справку в следующем разделе и справочную страницу ssh-keygen (1).

A # 2: См. Net :: SSH :: Expect.

Предложениепопробуйте Net :: SSH :: Expect - хороший вариант.На основании того, что вы сказали, звучит, что это соответствует вашим потребностям.Я немного использовал Net :: SSH :: Expect, и я могу засвидетельствовать его простоту, если вы просто хотите быстро что-то сделать

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...