Il y a plusieurs façons d'exécuter les commandes ou script dans les multiples machines Linux distantes. L'un des moyens les plus simples et les plus faciles est de passer par pssh (programme ssh parallèle)
pssh ssh : est un programme permettant d'exécuter ssh en parallèle sur un certain nombre d'hôtes. Il fournit des fonctionnalités telles que l'envoi d'entrées à tous les processus, le passage d'un mot de passe à ssh, la sauvegarde de la sortie dans des fichiers et la temporisation.
Exemple et utilisation :
Connectez-vous à l'hôte1 et à l'hôte2, et imprimez "hello, world" depuis chacun d'eux :
pssh -i -H "host1 host2" echo "hello, world"
Exécuter des commandes via un script sur plusieurs serveurs :
pssh -h hosts.txt -P -I<./commands.sh
Utilisation et exécution d'une commande sans vérifier ni sauvegarder les clés de l'hôte :
pssh -h hostname_ip.txt -x '-q -o StrictHostKeyChecking=no -o PreferredAuthentications=publickey -o PubkeyAuthentication=yes' -i 'uptime; hostname -f'
Si le fichier hosts.txt contient un grand nombre d'entrées, disons 100, l'option de parallélisme peut également être fixée à 100 pour s'assurer que les commandes sont exécutées simultanément :
pssh -i -h hosts.txt -p 100 -t 0 sleep 10000
Options :
-I : Lire l'entrée et envoyer à chaque processus ssh.
-P : Demande à pssh d'afficher la sortie au fur et à mesure qu'elle arrive.
-h : Lit le fichier de l'hôte.
-H : [user@]host[:port] pour un hôte unique.
-i : Affichage de la sortie standard et de l'erreur standard lorsque chaque hôte termine son travail.
-x args : Passe les arguments supplémentaires de la ligne de commande SSH
Option -o : Peut être utilisé pour donner des options dans le format utilisé dans le fichier de configuration.(/etc/ssh/ssh_config) (~/.ssh/config)
-p le parallélisme : Utilisez le nombre donné comme nombre maximum de connexions simultanées.
-q Mode silencieux : Permet de supprimer la plupart des messages d'avertissement et de diagnostic.
-t : Les connexions sont interrompues après le nombre de secondes indiqué. 0 signifie que pssh n'interrompra aucune connexion.
Lorsque vous vous connectez par ssh à la machine distante, comment gérer le fait que le système vous demande d'indiquer l'authentification par empreinte digitale RSA.
Désactiver le StrictHostKeyChecking pour gérer l'invite d'authentification RSA.
-o StrictHostKeyChecking=no
Fuente : man pssh