#1 Le 07/09/2011, à 22:19
- alefriedx
script bash de connexion ssh sans invite
Bonjour,
je voudrais lancer un même script sur plusieurs noeuds d'un petit cluster "maison" auxquels j'ai accès en ssh via une clé (pas de demande de password au moment du login donc).
J'ai essayé ça :
for ((i = 1; i <= 10; i += 1))
do
ssh "moi@node"$i
echo "logged to node"$i
sleep 1
sh ./MT_boucle.sh
echo "process lancé sur node"$i
done
mais ducoup, à chaque connexion il me retourne l'invite de commande de "node"$i
Est ce que quelqu'un ici saurait me dire s'il est possible de faire en sorte que ça se logge en ssh sur chaque node successivement sans me renvoyer l'invite de commende à chaque tour ?
Ducoup, si ça marche, j'aurai besoin de la commande bash pour me déconnecter du node, une idée ?
qsub n'est pas encore configuré pour lancer des jobs, donc si vous avez des propositions alternatives à ça, je suis preneur !
Merci !
Hors ligne
#2 Le 08/09/2011, à 19:22
- sputnick
Re : script bash de connexion ssh sans invite
Cherche
pssh
sur le net, ça sera plus pro(pre).
Si tu tiens à bidouiller (c'est toujours plus drôle soi même et didactique), tu doit utiliser la sortie standard (ou encore rajouter un exit après le lancement du scritp distant).
Exemple :
for ((i = 1; i <= 10; i++)); do
ssh "moi@node"$i <<'MARK'
echo "logged to node"$i
sleep 1
sh ./MT_boucle.sh && echo "process lancé sur $HOSTNAME" || echo "process échoué sur $HOSTNAME"
MARK
done
Tu notera les quotes simples sur MARK (here-doc) pour ne pas interpoler les variables comme $HOSTNAME.
J'ai ajouté" la gestion de l'erreur en sortie du script distant.
Il existe un tunnel obscur dans la lumière infinie. Lao-Tseu
https://sputnick.fr
En ligne
#3 Le 08/09/2011, à 19:51
- alefriedx
Re : script bash de connexion ssh sans invite
ouais, merci !
pssh a l'air pas mal, mais je ne vois pas ce que fait 'MARK' et MARK en fin de boucle.
J'ai googlé mais rien trouvé ... C'est une variable normale, qui aurait pu s'appeler 'TOTO' ?
Si c'est ça, <<, c'est pas l'entrée standard ?
Et en fin de boucle, ça fait quoi ?
Bref, en tout cas, ya aussi moyen avec qsub je dirais ...
Merci pour les tuyaux !
Dernière modification par alefriedx (Le 08/09/2011, à 19:52)
Hors ligne
#4 Le 08/09/2011, à 20:46
- sputnick
Re : script bash de connexion ssh sans invite
C'est un here-doc comme déjà précisé.
LANG=C man bash | less +/here-doc
Il existe un tunnel obscur dans la lumière infinie. Lao-Tseu
https://sputnick.fr
En ligne
#5 Le 09/09/2011, à 10:50
- alefriedx
Re : script bash de connexion ssh sans invite
OK, merci,
1 point de culture en plus !
Hors ligne