2012-03-26 4 views
0

Привет Я пытаюсь получить соединение из окон в unix box и просто передать команду ls. Исполнение просто зависает без вывода. Что может быть неправильным?Net :: SSH :: Perl руки без вывода

#!/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/конфигурации WXVM0026: Считывание данных конфигурации/и т.д./ssh_config WXVM0026: Подключение к themse, порт 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: Host 'themse' известен и соответствует ключу хоста. WXVM0026: Тип шифрования: DES3 WXVM0026: Отправлен зашифрованный ключ сеанса. WXVM0026: Получено подтверждение шифрования. WXVM0026: Выполнение ответа на вызов аутентификация. Пароль: Пароль: WXVM0026: Отправка команды: Ls -ltr WXVM0026:. Начало интерактивной сессии *

ответ

0

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

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

С уважением,

+0

Я попытался выше, почему она до сих пор застрял? : \t WXVM0026: Отправка команды: 0 Ls/<&- 1> & - 2> & - WXVM0026: Отправка команды: 0 Ls/<&- 1> & - 2> & - WXVM0026: Запрос службы Exec на канале 1. WXVM0026: канал 1: открыт confirm rwindow 0 rmax 32768 – Zack

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