URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 9810
[ Назад ]

Исходное сообщение
"perl openssh write failed broken pipe"

Отправлено Slimm , 10-Янв-14 10:46 
Требуется помощь, есть небольшой скриптик на Perl

#!/usr/bin/perl -w

use Net::OpenSSH;
use strict;
my $ssh = Net::OpenSSH->new($user.':'.$pass.'@'.$host, timeout => 30);
my @ls = $ssh->capture("sh run | b interface Vlan1");
# обработка @ls
# и формирование списка команд в @cmd
@ls = $ssh->capture(@cmd);


Первый capture срабатывает как положено, результат получаю, а вот второй capture не срабатывает
Вылетает вот такая ошибка
channel_by_id: 0: bad id: channel free
client_input_channel_req: channel 0: unknown channel
Connection to 10.40.1.225 closed by remote host.


Содержание

Сообщения в этом обсуждении
"perl openssh write failed broken pipe"
Отправлено Аноним , 10-Янв-14 14:44 
> @ls = $ssh->capture(@cmd);

А что в @cmd перед вызовом этой строки?


"perl openssh write failed broken pipe"
Отправлено Slimm , 10-Янв-14 15:06 
>> @ls = $ssh->capture(@cmd);
> А что в @cmd перед вызовом этой строки?

команды, которые если в ручную вставить, то исполняются без ошибок
вот например (print @cmd):
conf t
interface Vlan35
no ip helper-address 10.40.2.11
ip helper-address 10.40.2.98
end
wri



"perl openssh write failed broken pipe"
Отправлено Slimm , 10-Янв-14 15:55 
>> @ls = $ssh->capture(@cmd);
> А что в @cmd перед вызовом этой строки?

даже если заменить @cmd на "sh ver", то ошибка таже