Rechercher : dans
Par :

[putty] et automatiser des commandes ssh

Dernière réponse le 27 nov 2008 à 22:34:30 nonodev, le 9 jui 2007 à 11:24:46 
 Signaler ce message aux modérateurs

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.

Meilleures réponses pour « [putty] et automatiser des commandes ssh » dans :
Accéder à distance à sa machine (VNC+ssh) VoirL'astuce suivante vous permettra d'accéder à distance à votre machine de manière graphique. Nous allons utiliser le serveur VNC inclu dans Ubuntu (Vino) en le sécurisant par ssh. Vous pourrez alors accéder à distance à votre PC avec ssh et vnc...
Se logguer à distance avec ssh (Linux) Voir(Pour ceux qui voudraient avoir un rappel sur SSH : http://www.commentcamarche.net/crypto/ssh.php3) Les commandes suivantes nécessitent d'avoir un compte sur la machine sur laquelle on veut se connecter et qu'un serveur SSH y soit installé. ...
[Shell] Transferer des fichiers via ssh VoirSSH - Secure SHell Utilisation Informations complémentaires LOGICIELS Sous Linux/Unix Sous Windows Avertissement Utilisation SSH permet d'utiliser des pipelines de commandes, et d'utiliser des tubes d'entrées/sorties comme toute...
Télécharger Putty VoirPutty est un client SSH et Telnet gratuit pour plates-formes Windows 32 bits. Il permet de se connecter à un serveur distant à partir d'un ordinateur connecté à internet. Sur le site de l'auteur, on trouve également d'autres outils en ligne de...

1

dubcek, le 9 jui 2007 à 11:37:43
  • +1

Simuler l'envoi d'un <enter> :
echo | commande

Répondre à dubcek

2

nonodev, le 9 jui 2007 à 11:52:01

à 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".

Répondre à nonodev

3

dubcek, le 9 jui 2007 à 12:35:15

C'est putty ou une commande dans command.txt qui demande press any key ?
quel genre de commande dans command.txt ?

Répondre à dubcek

4

nonodev, le 9 jui 2007 à 13:27:48

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.

Répondre à nonodev

5

dubcek, le 9 jui 2007 à 15:41:41

Le switch doit avoir une option pour automatiser une connection sans intervention.
le fichier command.txt ne contient que des commandes du switch ?

Répondre à dubcek

6

asebt, le 4 fév 2008 à 03:21:11

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.

Répondre à asebt

8

cyd, le 24 nov 2008 à 15:34:11

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.

Répondre à cyd

7

canthurtme, le 2 jui 2008 à 09:15:12

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

Répondre à canthurtme

9

Char Snipeur, le 24 nov 2008 à 16:27:22

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 Salutation !
Char Snipeur

Répondre à Char Snipeur

10

 thierry, le 27 nov 2008 à 22:34:30

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é!

Répondre à thierry