[PERL] script perl avec ssh ss echange de clé
manu_ch44
Messages postés
8
Statut
Membre
-
[Dal] Messages postés 6373 Statut Contributeur -
[Dal] Messages postés 6373 Statut Contributeur -
Bonjour,
Sous UNIX:
Je voudrais écrire un script perl qui se connecte sur un router en ssh.
je ne peux utiliser que use Net::SSH qw(ssh_cmd ssh issh sshopen2 sshopen3); parmi les librairies SSH.
lorsque j'utilise:
1) ssh_cmd:
print "Connecting to MAMACHINE01$IP ..........\n";
ssh_cmd("user\@$IP", "$cmd");
j'obtiens:
Connecting to 10.10.10.14 ..........
Permission denied (publickey,password,keyboard-interactive).
=> Normal, car je n'ai pas échangé les clés, chose que je ne peux pas faire.
2)issh:
print "Connecting to MAMACHINE01$IP ..........\n";
issh ("user\@$IP", "$cmd") ;
j'obtiens:
Connecting to 10.10.10.14 ..........
ssh user@10.10.10.14
Proceed [y/N]:y
user@10.10.10.14's password:xxxxxx
MAMACHINE01>
=> Dans ce cas, c'est à moi de taper y puis le mot de passe, alors que j'aurais voulu que ce soit le script qui le fasse
3)sshopen2 et sshopen3:
j'ai essayé mais toujours pas réussi.
=> une idée ?
Merci d'avance pour votre aide
Manu
Sous UNIX:
Je voudrais écrire un script perl qui se connecte sur un router en ssh.
je ne peux utiliser que use Net::SSH qw(ssh_cmd ssh issh sshopen2 sshopen3); parmi les librairies SSH.
lorsque j'utilise:
1) ssh_cmd:
print "Connecting to MAMACHINE01$IP ..........\n";
ssh_cmd("user\@$IP", "$cmd");
j'obtiens:
Connecting to 10.10.10.14 ..........
Permission denied (publickey,password,keyboard-interactive).
=> Normal, car je n'ai pas échangé les clés, chose que je ne peux pas faire.
2)issh:
print "Connecting to MAMACHINE01$IP ..........\n";
issh ("user\@$IP", "$cmd") ;
j'obtiens:
Connecting to 10.10.10.14 ..........
ssh user@10.10.10.14
Proceed [y/N]:y
user@10.10.10.14's password:xxxxxx
MAMACHINE01>
=> Dans ce cas, c'est à moi de taper y puis le mot de passe, alors que j'aurais voulu que ce soit le script qui le fasse
3)sshopen2 et sshopen3:
j'ai essayé mais toujours pas réussi.
=> une idée ?
Merci d'avance pour votre aide
Manu
A voir également:
- [PERL] script perl avec ssh ss echange de clé
- Clé usb non détectée - Guide
- Clé windows 8 - Guide
- Clé usb - Accueil - Stockage
- Formater clé usb - Guide
- Script vidéo youtube - Guide
3 réponses
Salut manu_ch44,
La réponse à ta question est là : https://metacpan.org/pod/release/IVAN/Net-SSH-0.09/SSH.pm
Je cite :
Donc : https://metacpan.org/pod/release/BNEGRAO/Net-SSH-Expect-1.09/lib/Net/SSH/Expect.pod
Dal
La réponse à ta question est là : https://metacpan.org/pod/release/IVAN/Net-SSH-0.09/SSH.pm
Je cite :
FREQUENTLY ASKED QUESTIONS ^ Q: How do you supply a password to connect with ssh within a perl script using the Net::SSH module? A: You don't (at least not with this module). Use RSA or DSA keys. See the quick help in the next section and the ssh-keygen(1) manpage. A #2: See Net::SSH::Expect instead.
Donc : https://metacpan.org/pod/release/BNEGRAO/Net-SSH-Expect-1.09/lib/Net/SSH/Expect.pod
Dal
[Dal]
Messages postés
6373
Statut
Contributeur
1 106
Cela dit.. si tu as accès en ssh, je ne comprends vraiment pas pourquoi tu ne pourrais pas créer des clefs et mettre ta clef publique dans le fichier .ssh/authorized_keys du compte auquel tu accèdes. C'est quand même mieux que d'avoir des scripts où le mot de passe se balade en clair.
Merci pour vos réponses.
Mais mon systèmes est fait de cette façon.
Il va falloir que j'ouvre la librairie pour envoyer le mot de passe et là ....
Je ne peux pas installer la lib :Net::SSH::Expect
Si vous avez des idées, je suis preneur.
Merci
Manu
Mais mon systèmes est fait de cette façon.
Il va falloir que j'ouvre la librairie pour envoyer le mot de passe et là ....
Je ne peux pas installer la lib :Net::SSH::Expect
Si vous avez des idées, je suis preneur.
Merci
Manu
Salut manu_ch44,
Pourquoi ne peux-tu pas installer le module Perl Net::SSH::Expect (ce n'est pas une librairie, c'est un module Perl) ? Est-ce en raison de restrictions de "ton système", ou est-ce parce que tu as un message d'erreur en utilisant CPAN, ou que tu ne sais pas comment installer un module Perl ?
Autrement, si expect est déjà installé dans ton système :
Tu peux créer un script expect.
Vois un exemple ici : https://forums.commentcamarche.net/forum/affich-24228280-script-expect-pour-recuperer-la-configuration
C'est un exemple pour Telnet. Adapte le à tes besoins.
Dal
Pourquoi ne peux-tu pas installer le module Perl Net::SSH::Expect (ce n'est pas une librairie, c'est un module Perl) ? Est-ce en raison de restrictions de "ton système", ou est-ce parce que tu as un message d'erreur en utilisant CPAN, ou que tu ne sais pas comment installer un module Perl ?
Autrement, si expect est déjà installé dans ton système :
$ whereis expect expect: /usr/bin/expect
Tu peux créer un script expect.
Vois un exemple ici : https://forums.commentcamarche.net/forum/affich-24228280-script-expect-pour-recuperer-la-configuration
C'est un exemple pour Telnet. Adapte le à tes besoins.
Dal