Bonjour,
sous strawberry, j'ai enfin trouvé le module pour me connecter à un équipement CISCO en SSH (NET::SSH:ERL n'envoyait les ciphers, pourtant disponible dans la documentation via une option).
Ici j'ai volontairement utilisé une adresse IP non joignable pour choisir les messages d'erreurs et comportement en cas d'échecs.
résultat:
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 use strict; use warnings; use feature 'say'; use Data::Dumper; no warnings 'uninitialized'; use Net::SSH2::Cisco; my $user = 'toto'; my $pass = 'titi'; my $SWITCH = '10.2.99.251'; sub SSH { my $ssh = Net::SSH2::Cisco->new(host => $SWITCH); $ssh->login("$user", "$pass"); if ( ! defined $ssh) { say "connexion impossible"; $ssh->close; } # Execute a command my @output = $ssh->cmd('show ip arp'); for (@output) { chomp; say $_ if $_ =~ /\.\d{1,2}\.237\s/ or /\.\d{1,2}\.238\s/ or /\.\d{1,2}\.254\s/; } $ssh->close; } &SSH;
Net::SSH2 error - -1:LIBSSH2_ERROR_SOCKET_NONE = Unable to connect to remote host: Bad file descriptor
unable to connect to host - `10.2.99.251:22' at ssh.pl line 13
C'est un message d'erreur vu dans le code source ligne 943
Mon message say "connexion impossible"; n'est pas pris en compte.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 ... return $self->error("Net::SSH2 error - $errcode:$errname = $errstr\nunable to connect to host - `$host:$port'") ...
Existe un moyen générique de ne pas tenir compte des alarmes de base et aussi pourquoi le mien ne s'affiche pas ?
Merci.
Partager