2012-04-03 2 views
-1

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

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

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

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

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

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

+0

будет вам полезна. похоже на аналогичное обсуждение. http://stackoverflow.com/questions/9766780/perl-script-to-execute-ssh-command-without-using-password – rpg

+0

Привет. Мне нужна помощь в Net :: SSH вместо Net :: SSH :: Perl, поскольку я не могу установить Net :: SSH :: Perl из-за некоторых проблем с CPAN и ручной установкой. Ссылка, которую вы мне дали, - это Net :: SSH :: Perl. – Sakura

+1

«Соединение отказано» означает, что клиент не мог связаться с сервером, а не то, что сервер отклонил учетные данные. – Quentin

ответ

0

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

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

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

A # 2: См. Net :: SSH :: Expect вместо этого.

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

Смежные вопросы