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 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102
| while( defined( $host = <FIC2>)) {
chomp($host);
print "*** $host\n" if $verbose;
print "*** Connexion sur le cpe\n" if $verbose;
$expect = new Expect ();
$expect->exp_internal(1) if $debug;
$expect->raw_pty (1);
$expect->log_stdout (0);
$expect->spawn ('ssh -p <port number> mon_login@'.$host);
$expect->expect(10,
#premiere connexion ssh sur le cpe
[ qr/yes\/no/ =>
sub {
$expect->send("yes\n");
exp_continue;
}
],
#login en cas d'échec
[ qr/ogin:/ =>
sub {
$expect->send("mon_login\n");
exp_continue;
}
],
#mot de passe
[ qr/assword:/ =>
sub {
$expect->send("mon_password\n");
exp_continue;
}
],
#prompt v1, passage en enable
[ qr/CPE>/ =>
sub {
$version = 1;
$expect->send("enable\n");
exp_continue;
}
],
#prompt v1, passage en mode wimax
[ qr/CPE#/ =>
sub {
$expect->send("wimax\n");
exp_continue;
}
],
#prompt v1
[ qr/CPE.*#/ =>
sub {
$connexion = 1;
}
],
#prompt v2, passage en mode enable
[ qr/MTxxxx>/ =>
sub {
$version = 2;
$expect->send("enable\n");
exp_continue;
}
],
#prompt v2, passage en mode wimax
[ qr/MTxxxx#/ =>
sub {
$expect->send("wimax\n");
exp_continue;
}
],
#prompt v2
[ qr/MTxxxx.*#/ =>
sub {
$connexion = 1;
}
],
[ qr/No route to host/ =>
sub {
print "injoignable\n" if $verbose;
#ecriture
print ( FIC1 "$host\n");
$connexion = 0;
}
],
[ timeout =>
sub {
print "timeout\n" if $verbose;
#ecriture
print ( FIC1 "$host\n");
$connexion = 0;
}
],
[ eof =>
sub { 1; }
]);
next if !$connexion;
suite du script ici: passage des commandes ici |
Partager