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

Исходное сообщение
"ActivePerl SSH W32Perl Проблема Подключения."

Отправлено SoD , 22-Окт-07 16:00 
Проблема такая
Код:

use strict; use Net::SSH::W32Perl;
use Math::BigInt::Calc ();
use Net::SSH::Perl::Cipher;
my $host = "xxxxxxxxxxxxxxxxx";
my $user = "root";
my $pass = "xxxxxxxxxxxxxxxxx";
my $cmd = "ls -al";
my $ssh = new Net::SSH::W32Perl($host, protocol => 2, debug=>1);

my ($stdout, $stderr, $exit) = $ssh->cmd($cmd,"\n");
print "Error = $stderr \n Out = $stdout \n Error = $exit"; exit 0;


Вот что выдает

Slawka_Book: Remote protocol version 1.99, remote software version OpenSSH_3.9p1
Slawka_Book: Net::SSH::Perl Version 1.30, protocol version 2.0.
Slawka_Book: No compat match: OpenSSH_3.9p1.
Slawka_Book: Connection established.
Slawka_Book: Sent key-exchange init (KEXINIT), wait response.
Slawka_Book: Algorithms, c->s: 3des-cbc hmac-sha1 none
Slawka_Book: Algorithms, s->c: 3des-cbc hmac-sha1 none
Slawka_Book: Entering Diffie-Hellman Group 1 key exchange.
Slawka_Book: Sent DH public key, waiting for reply.
Slawka_Book: Received host key, type 'ssh-dss'.
Slawka_Book: Host 'xxxxxxxxxxxxx' is known and matches the host key.
Slawka_Book: Computing shared secret key.
Slawka_Book: Verifying server signature.
Slawka_Book: Waiting for NEWKEYS message.
Slawka_Book: Enabling incoming encryption/MAC/compression.
Slawka_Book: Send NEWKEYS, enable outgoing encryption/MAC/compression.
Slawka_Book: Sending request for user-authentication service.
Slawka_Book: Service accepted: ssh-userauth.
Slawka_Book: Trying empty user-authentication request.
Slawka_Book: Authentication methods that can continue: publickey,gssapi-with-mic,password.
Slawka_Book: Next method to try is publickey.
Slawka_Book: Next method to try is password.
Slawka_Book: Trying password authentication.
Slawka_Book: Login completed, opening dummy shell channel.
Slawka_Book: channel 0: new [client-session]
Slawka_Book: Requesting channel_open for channel 0.
Slawka_Book: channel 0: open confirm rwindow 0 rmax 32768
Slawka_Book: Got channel open confirmation, requesting shell.
Slawka_Book: Requesting service shell on channel 0.
Slawka_Book: channel 1: new [client-session]
Slawka_Book: Requesting channel_open for channel 1.
Slawka_Book: Entering interactive session.
Slawka_Book: Sending command: cat
Slawka_Book: Requesting service exec on channel 1.
Slawka_Book: channel 1: send eof
Slawka_Book: channel 1: open confirm rwindow 131043 rmax 32768

Далее просто висит =(

Что делать Помогните


Содержание

Сообщения в этом обсуждении
"ActivePerl SSH W32Perl Проблема Подключения."
Отправлено NuINu , 22-Окт-07 16:13 

>Далее просто висит =(
>
>Что делать Помогните

Да и рад бы помочь, но где виндовс то взять?


"ActivePerl SSH W32Perl Проблема Подключения."
Отправлено Kavkaz , 24-Окт-07 12:59 
>[оверквотинг удален]
>Код:
>
>use strict; use Net::SSH::W32Perl;
>use Math::BigInt::Calc ();
>use Net::SSH::Perl::Cipher;
>my $host = "xxxxxxxxxxxxxxxxx";
>my $user = "root";
>my $pass = "xxxxxxxxxxxxxxxxx";
>my $cmd = "ls -al";
>my $ssh = new Net::SSH::W32Perl($host, protocol => 2, debug=>1);

сам не знаю, да и читать лень, но кое что вродь не сходится, логин/пасс объявили, а при создании объекта вроде не использовали...

вы конечно можете ткнуть сюда:
>Slawka_Book: Trying password authentication.
>Slawka_Book: Login completed, opening dummy shell channel.
>Slawka_Book: channel 0: new [client-session] ...

то бишь может доки к модулю перечитать..?


"ActivePerl SSH W32Perl Проблема Подключения."
Отправлено Arifolth , 01-Ноя-07 13:42 
>[оверквотинг удален]
>Slawka_Book: Requesting channel_open for channel 1.
>Slawka_Book: Entering interactive session.
>Slawka_Book: Sending command: cat
>Slawka_Book: Requesting service exec on channel 1.
>Slawka_Book: channel 1: send eof
>Slawka_Book: channel 1: open confirm rwindow 131043 rmax 32768
>
>Далее просто висит =(
>
>Что делать Помогните

может не совсем в тему но:
была у меня некая проблема с запуском ssh клиента под виндоус из под сервиса. он висел (то ли ещё до коннекта то ли после). (правда был он скомпилён под cygwin, а выполнять он должен был программу после коннекта, аутентификация была по ключам)
там нужно было где то в настройках службы из под которой он запускался вроде поставить флажок доступ к десктопу или что то в этом роде. сча виндоуса под рукой нет точно сказать не могу. но я думаю рыть надо сюда.


"ActivePerl SSH W32Perl Проблема Подключения."
Отправлено Сергей , 14-Авг-08 15:40 
>[оверквотинг удален]
>
>my ($stdout, $stderr, $exit) = $ssh->cmd($cmd,"\n");
>print "Error = $stderr \n Out = $stdout \n Error = $exit";
>exit 0;
>
>
>Вот что выдает
>
>Slawka_Book: Remote protocol version 1.99, remote software version OpenSSH_3.9p1
>Slawka_Book: Net::SSH::Perl Version 1.30, protocol version 2.0.

...

>Slawka_Book: Entering interactive session.
>Slawka_Book: Sending command: cat
>Slawka_Book: Requesting service exec on channel 1.
>Slawka_Book: channel 1: send eof
>Slawka_Book: channel 1: open confirm rwindow 131043 rmax 32768
>
>Далее просто висит =(
>
>Что делать Помогните

Аналогичная фигня.
опытным путём установлено, что при использовании SSH Protocol v1 такого нет.

т.е.
my $ssh = new Net::SSH::W32Perl($host, protocol => 1, debug=>1);

должен решить проблему


"ActivePerl SSH W32Perl Проблема Подключения."
Отправлено Василий Алибабаевич , 24-Ноя-10 13:25 
>>Slawka_Book: Entering interactive session.
>>Slawka_Book: Sending command: cat
>>Slawka_Book: Requesting service exec on channel 1.
>>Slawka_Book: channel 1: send eof
>>Slawka_Book: channel 1: open confirm rwindow 131043 rmax 32768
>>
>>Далее просто висит =(
>>
>>Что делать Помогните

Чтобы не вис надо подправить библиотеку perl.pm в c:/perl/site/lib/Net/SSH
строку (№50)  my $proto_class = join '::', __PACKAGE__,($proto == PROTOCOL_SSH2 ? "SSH2" : "SSH1"); надо закоментить, и написать следующее:
my $proto_class = $ssh->protocol_class($proto);

НЕДЕЛЮ МУЧИЛСЯ!!!!