Bonjour,

Sur un parc d'une vingtaine de VM, j'en utilise une comme machine référentielle, pour redescendre des scripts sur les autres, avec un script comprenant ce type de boucle :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
for vm in ${liste_vms}
do
  echo "<br>Copie de ${hostname} vers ${vm} :"
  scp -r ${source}/* mid@${vm}:${cible}
  echo " Copie OK"
done
Cela fonctionne très bien.

Maintenant je souhaite automatiser des connexions ssh suivi de commande sur les machines distantes, du style :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
for vm in ${liste_vms}
do
  ssh user@${vm}
  pwd
done
Pour rappel, pas de problème bien sûr de clé RSA pour l'authentification distante du user.
Et je suis conscient du risque à automatiser des tâches distantes (pourquoi pas un rm sur la cible ...).

Mais je bloque après la commande ssh, en fait j'arrive sur la machine distante, mais je n'arrive pas à automatiser la commande suivante (pwd dans mon exemple), je me prends le prompt sur la cible :

ld002midAAAA@mid:/tools/list/product/websphere70/httpserver/cgi-bin/monitoring >ssh mid@ld002midBBBB.cloud.group.gca
Last login: Wed Dec 16 10:08:08 2015 from 10.179.139.79
ld002midBBBB@mid:/tools/list/product >

Comment faire pour que la commande pwd (dans cet exemple) fonctionne, afin que la boucle for passe sur la VM suivante, sans arrêt.

Merci par avance pour votre aide.