Expect.pm -- not working, help! [Fermé]

Signaler
Messages postés
69
Date d'inscription
jeudi 4 septembre 2014
Statut
Membre
Dernière intervention
18 mars 2016
-
bonjour ,
j'ai un script perl à travers lequel je connect à mon switch via ssh , l'authentification au début passe bien , mais j'ai un problem lors de l'authentification dans le mode privilégie .Le message d'erreur c'est " password: /usr/local/share/perl/expect.pm at line 904 "
#!/usr/bin/perl -w

use Net::SSH::Expect;
use strict;


my $host ='192.5.65.123'; ;
my $username = 'admin';
my $password = 'admin';
chomp($password) if($password =~ /(.*)\$/);
my $enable_password = 'admin';
chomp($enable_password) if($enable_password =~ /(.*)\$/);

my $ssh = Net::SSH::Expect->new (
host => $host, 
password=> $password, 
user => $username, 
raw_pty => 1
);
## Test si on voit bien le prompt ">" apparaître, confirmant la connection au périphériaue cisco
##
my $login_output = $ssh->login();
if($login_output !~ /[a-zA-Z0-9_-]*>/){
printf "echec de la connection";
}
## passage en mode "privilégié"

$ssh->exec('enable');
#$ssh->waitfor('Password:\s*\z',2) or die "no password prompt";
sleep(1);
$ssh->send($enable_password);

my ($pty, $pid) = $ssh->exec("show arp") or die "unable to run remote command show ip arp";
 my $expect = Expect->init($pty);
 $expect->raw_pty(1);
 #$expect->debug(2); 
my $debug and $expect->log_stdout(1);

 while(<$pty>) 
{ print "$. $_ "
  #$. $_->Load($fich);
 #my $a=print"$. $_ ";
 #print "$a";
  #rediriger_flux($fich);

}