как на PERL подключиться к серверу по SSH набрать пароль и получить результат команды?

программирование Linux perl SSH

когда выполняю
my @retdata=`sudo -u vasia ssh [email protected] df -k`

всё получается. Но предварительно надо положить ключи на удалённый сервер и не со всеми такое получается.

Как можно видоизменить эту команду, чтобы вписать туда логин с паролем или ввести как-то по другому?

Ответы:
use Net::SSH::Perl;
my $ssh = Net::SSH::Perl->new($host);
$ssh->login($user, $pass);
my($stdout, $stderr, $exit) = $ssh->cmd($cmd);
idler:
я именно так сейчас и делаю. но, к сожалению это работает не на всех серверах. Причины я не нашёл. В линуксе разбираюсь слабо и все эти сервера администрируются не мной, поэтому что-то перенастроить я практически не могу. Но ссылка очень полезная. буду изучать :)
2 zexo:
никак не могу поставить, Net::SSH::Perl вылетает с ошибкой :(
и это не первая моя попытка воспользоваться этим примером :(
а не используя Net::SSH::Perl что-то можете посоветовать? Или ссылки. как поставить, или лучше где скачать требуемые для Net::SSH::Perl *.pm файлы?
насчет генерации ключей - там приведен только 1 частный случай из как минимум 3, попробуйте поискать еще таких статей. Если пользуетесь PuTTY - посмотрите встроенную помощь. Удачи!
если на какую-то машину не удаётся зайти ключом, удостоверьтесь, кто в конфиге /etc/ssh/sshd_config есть соответствующая строчка:


16 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.