Net :: SSH :: Perl без вывода - PullRequest
       1

Net :: SSH :: Perl без вывода

0 голосов
/ 26 марта 2012

Привет, я пытаюсь получить соединение из окна Unix Box и просто передать команду ls.Выполнение просто зависает без вывода.Что может быть не так?

#!/usr/bin/perl -w
use strict;

use Net::SSH::Perl;

my $hostname = "unixhost";
my $username = "####";
my $password = "######";

my $cmd = shift;


my $ssh = Net::SSH::Perl->new("$hostname", debug=>1,  identity_files => []);
$ssh->login("$username","$password");
my ($stdout,$stderr,$exit) = $ssh->cmd("$cmd");
print $stdout;
exit;

*> C:> perl ssh.pl "ls -ltr" WXVM0026: Чтение данных конфигурации

c: /. Ssh / config WXVM0026: Чтение данных конфигурации / etc / ssh_config WXVM0026: подключение к ним, порт 22. WXVM0026: версия удаленного протокола 1.99, версия удаленного программного обеспечения OpenSSH_4.5p1 + sftpfilecontrol-v1.1-hpn12v14 WXVM0026: Net :: SSH :: Perl версия 1.34,версия протокола 1.5.WXVM0026: Совпадение не найдено: OpenSSH_4.5p1 + sftpfilecontrol-v1.1-hpn12v14.WXVM0026: Соединение установлено.WXVM0026: Ожидание открытого ключа сервера.WXVM0026: Получен открытый ключ сервера (768 бит) и ключ хоста (1024 бит).WXVM0026: Хост "themse" известен и соответствует ключу хоста.WXVM0026: Тип шифрования: DES3 WXVM0026: Отправлено зашифрованный сеансовый ключ.WXVM0026: Получено подтверждение шифрования.WXVM0026: Проверка подлинности ответа на вызов.Пароль: Пароль: WXVM0026: Отправка команды: ls -ltr WXVM0026: Вход в интерактивный сеанс. *

1 Ответ

0 голосов
/ 26 марта 2012

Если удаленная команда не закрывает свой ввод / вывод / stederr, сессия SSH ждет своего ввода вечно (по крайней мере, до истечения времени ожидания).

 my $cmd = "ls / 0<&- 1>&- 2>&-";

С уважением,

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