[putty] et automatiser des commandes ssh
nonodev
-
marius -
marius -
Bonjour,
Je travaille actuellement sur un script qui permettrait d'automatiser des commandes ssh.
Pour ce faire, j'utilise putty avec comme paramètres : putty.exe -ssh -2 -P 22 admin@ip -pw pass -m commande.txt
Le fichier commande.txt contient la liste des commandes à effectuer une fois la connexion ouverte.
La connexion se passe sans problème.
Le soucis, c'est qu'une fois la connexion effectué, la première chose que le serveur demande est "press any key to continue".
Quoi que je mette dans commande.txt, le serveur me jette.
D'où ma question :
Comment faire comprendre à putty d'envoyer le code ASCII d'une touche ? ou peut-être existe il une autre possibilité pour simuler le "press any key".
Any idea?
Merci.
Je travaille actuellement sur un script qui permettrait d'automatiser des commandes ssh.
Pour ce faire, j'utilise putty avec comme paramètres : putty.exe -ssh -2 -P 22 admin@ip -pw pass -m commande.txt
Le fichier commande.txt contient la liste des commandes à effectuer une fois la connexion ouverte.
La connexion se passe sans problème.
Le soucis, c'est qu'une fois la connexion effectué, la première chose que le serveur demande est "press any key to continue".
Quoi que je mette dans commande.txt, le serveur me jette.
D'où ma question :
Comment faire comprendre à putty d'envoyer le code ASCII d'une touche ? ou peut-être existe il une autre possibilité pour simuler le "press any key".
Any idea?
Merci.
A voir également:
- Lancer putty en ligne de commande
- Putty script - Meilleures réponses
- Putty script ssh commands - Meilleures réponses
- Invite de commande - Guide
- Partage de photos en ligne - Guide
- Mètre en ligne - Guide
- Formulaire en ligne de meta - Guide
- Commande terminal mac - Guide
7 réponses
Salut,
Moie pour faire cela j'ai trouvé un addon a putty extraputty ( http://extraputty.free.fr ).
Ce soft gratuit, te permet de sauvgarder des commandes ou de faires des sequence de commandes afin d'automatiser tout cela.
CE petti addon permet depuis peu ,de développer toi meme un soft pour automatiser tes tache car il offre une API (DLL) afin que des application win32 puissent envoyer ou recevoir des donnees via tout les protocoles putty.
J'ai vu qu'il y avait un example en MFC.
Voila j'espère que cela pourra t'aider car j'ai cherche longtemps avant de trouver.
Asebt.
Moie pour faire cela j'ai trouvé un addon a putty extraputty ( http://extraputty.free.fr ).
Ce soft gratuit, te permet de sauvgarder des commandes ou de faires des sequence de commandes afin d'automatiser tout cela.
CE petti addon permet depuis peu ,de développer toi meme un soft pour automatiser tes tache car il offre une API (DLL) afin que des application win32 puissent envoyer ou recevoir des donnees via tout les protocoles putty.
J'ai vu qu'il y avait un example en MFC.
Voila j'espère que cela pourra t'aider car j'ai cherche longtemps avant de trouver.
Asebt.
cyd
Il y aussi KiTTY (http://www.9bis.net/kitty/ qui permet d'automatiser une connexion à un serveur SSH et de lancer automatiquement des commandes à distance.
à mettre dans commande.txt ?
si tel est le cas, ça ne peut pas fonctionner.
en effet, putty envoie les commandes se trouvant dans commande.txt directement au server ssh, et ce dernier ne connais pas le "echo".
si tel est le cas, ça ne peut pas fonctionner.
en effet, putty envoie les commandes se trouvant dans commande.txt directement au server ssh, et ce dernier ne connais pas le "echo".
C'est putty ou une commande dans command.txt qui demande press any key ?
quel genre de commande dans command.txt ?
quel genre de commande dans command.txt ?
il s'agit en fait de changer un paramètre sur un switch.
le script doit donc :
1. se connecter en ssh sur le switch (grace a putty)
putty.exe -ssh -2 -P 22 admin@ip -pw pass -m commande.txt
2. une fois connecté, putty execute les différentes commandes entrées dans le fichier texte.
commande.txt pourrait par exemple contenir : 'show ip' ou 'conf t'.
Comme je le disais, la connexion passe sans problème.
Mais, le switch demande, d'appuyer sur une touche pour continuer une fois la connexion établie.
Si j'envoie directement une commande, 'show ip' par exemple, il me jette avec le message : "Server refused to start a shell/command".
J'espère que c'est plus clair ..
Merci.
le script doit donc :
1. se connecter en ssh sur le switch (grace a putty)
putty.exe -ssh -2 -P 22 admin@ip -pw pass -m commande.txt
2. une fois connecté, putty execute les différentes commandes entrées dans le fichier texte.
commande.txt pourrait par exemple contenir : 'show ip' ou 'conf t'.
Comme je le disais, la connexion passe sans problème.
Mais, le switch demande, d'appuyer sur une touche pour continuer une fois la connexion établie.
Si j'envoie directement une commande, 'show ip' par exemple, il me jette avec le message : "Server refused to start a shell/command".
J'espère que c'est plus clair ..
Merci.
Bonjour,
J'ai exécuté la commande indiquée, à savoir :
putty.exe -ssh -2 -P 22 admin@ip -pw pass -m commande.txt
Ca marche (merci).
Mais j'aurais un script commande.txt qui prend des arguments. Je voudrais donc faire un truc du style "putty.exe -ssh -2 -P 22 admin@ip -pw pass -m commande.txt argument"
J'aurais voulu savoir si c'était possible et quelle était la syntaxe...
Merci !
J'ai exécuté la commande indiquée, à savoir :
putty.exe -ssh -2 -P 22 admin@ip -pw pass -m commande.txt
Ca marche (merci).
Mais j'aurais un script commande.txt qui prend des arguments. Je voudrais donc faire un truc du style "putty.exe -ssh -2 -P 22 admin@ip -pw pass -m commande.txt argument"
J'aurais voulu savoir si c'était possible et quelle était la syntaxe...
Merci !
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Salut.
Il faut peut être passer une commande à ssh.
Sou linux, j'utilise ssh -t pour envoyer des commandes automatisés.
voir là pour les autres options qui devraient être supporté : http://www.delafond.org/traducmanfr/man/man1/ssh.1.html
Il faut peut être passer une commande à ssh.
Sou linux, j'utilise ssh -t pour envoyer des commandes automatisés.
voir là pour les autres options qui devraient être supporté : http://www.delafond.org/traducmanfr/man/man1/ssh.1.html
conf t, show ip.... un cisco, ou un bluecoat ? ;-)
pour cet usage j'utilise Linux et le prog "Expect"
il attend un mot clé et envoi ce que t'as programmé.
Ca fonctionne au poil.
sous windows? desolé!
pour cet usage j'utilise Linux et le prog "Expect"
il attend un mot clé et envoi ce que t'as programmé.
Ca fonctionne au poil.
sous windows? desolé!
Pourquoi tu ne peux pas utiliser une connexion en telnet?
Moi a ta place voila le script que j'aurai fait en PERL
#!/usr/bin/perl
use strict;
my $tmpfilename = "$ENV{TMP_PERL}\\tmp$$";
my $deviceip = $ARGV[0];
open(TMPFILE,"+>$tmpfilename");
print TMPFILE <<ECHO;
login telnet ##ici tes commandes à taper
mdp telnet
ter len 0 ## sert a ne pas s'areter à 25 lignes
sh int status
exit
ECHO
close(TMPFILE);
system("type $tmpfilename | nc -w 20 $deviceip 23 | grep -i \"connect\" > conf.log ");
Bon lla il te faut la commande nc.exe et ici le script attend que tu lui donne l'ip du Switch
Cordialement
Moi a ta place voila le script que j'aurai fait en PERL
#!/usr/bin/perl
use strict;
my $tmpfilename = "$ENV{TMP_PERL}\\tmp$$";
my $deviceip = $ARGV[0];
open(TMPFILE,"+>$tmpfilename");
print TMPFILE <<ECHO;
login telnet ##ici tes commandes à taper
mdp telnet
ter len 0 ## sert a ne pas s'areter à 25 lignes
sh int status
exit
ECHO
close(TMPFILE);
system("type $tmpfilename | nc -w 20 $deviceip 23 | grep -i \"connect\" > conf.log ");
Bon lla il te faut la commande nc.exe et ici le script attend que tu lui donne l'ip du Switch
Cordialement