2011-04-04 5 views
1

J'ai plusieurs routeurs Cisco configurés avec un accès telnet autorisé à partir de 5 hôtes spécifiés. Maintenant, je veux exécuter un script perl sur un hôte qui se connecte via ssh aux autres hôtes et vérifie si telnet pour le routeur est possible. J'ai essayé la commande "ssh host" du système mais malheureusement sans joie. Est-ce que quelqu'un pourrait m'aider s'il vous plaît?Connexion Perl ssh et exécution de la connexion telnet

Merci beaucoup à l'avance.

J'ai essayé ce qui suit mais sans succès. Quelques idées?


use Net::OpenSSH; 

$ssh = Net::OpenSSH->new("linuxserver", user => "username", password => "password", master_stderr_discard => 1); 
$command = "telnet routername"; 
@out = $ssh->capture({stdin_data => "routerpassword\n"}, $command); 

print "@out\n"; 


Répondre

4

Vous pouvez utiliser Net::SSH2 pour se connecter et transmettre une connexion au routeur en utilisant la méthode tcpip. Alternativement, vous pouvez utiliser Net::OpenSSH (qui ne nécessite que les binaires OpenSSH) pour faire de même, voir les informations sur Tunnels.

+0

Désolé, mais je suis vraiment nouveau à perl. Avez-vous un petit exemple de code? – Stefan

+0

@Stefan: La documentation de ces deux modules montre des exemples de la façon de les utiliser tout en haut. Il suffit de cliquer sur les liens. – CanSpice

+0

@Canspice: Merci. – Stefan