La connection sur des p�riph�riques via SSH est un probl�me que j'ai constat� assez r�current, et assez probl�matique vis � vis de certains p�riph�riques cisco. Venant de trouver une solution � mon probl�me, je la poste en �sperant qu'elle pourra en aider certains :

Donc pour tout ceux qui ont des probl�mes avec Net::SSH::Perl ou Perl::SSH2, voir m�me Net::Appliance::session, voici une piste :

Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
 
#! /usr/bin/perl
use Net::SSH::Expect;
 
        my $ssh = Net::SSH::Expect->new (
            host => "192.168.90.100", 
            password=> 'cisco', 
            user => 'admin', 
            raw_pty => 1
        );
 
        my $enable_passwd = "cisco";
 
        my $login_output = $ssh->login();
        $ssh->run_ssh() or die "SSH process couldn't start: $!";
 
        $ssh->send("enable");
        $ssh->waitfor('Password:\s*\z', 1) or die "prompt 'password' not found after 1 second";
        $ssh->send($enable_passwd);
 
        my $ls = $ssh->exec("show hosts");
        print($ls);
 
        # When running a command that causes a huge output,
        # lets get the output line by line:
        $ssh->send("show interfaces");   # using send() instead of exec()
        my $line;
        # returns the next line, removing it from the input stream:
        while ( defined ($line = $ssh->read_line()) ) {
            print $line . "\n";  
        }
 
        # closes the ssh connection
        $ssh->close();
Je pr�cise que cela est tir� de la doc CPAN, et j'ai simple�ent r�duit le script au minimum pour mes besoins.

Cependant, j'ai un dernier souci : avec ce script, l'execution de plusieurs commandes ne pose aucun probl�me (plus de soucis de channel), mais lors d'affichage de grande sortie (genre un r�sultat de commande de plusieurs 10 aines de lignes), je n'arrive pas passer outre le "--More--" de cisco. Donc au final, je n'arrive recuperer dans une variable que la pre�i�re page de l'affichage.

Si quelqu'un a une piste ou une solution � ce probl�me...