Il existe plusieurs façons d'exécuter les commandes ou le script sur les multiples machines Linux distantes. Un moyen simple et le plus simple est via pssh (programme parallèle ssh)
pssh : est un programme pour exécuter ssh en parallèle sur un certain nombre d'hôtes. Il fournit des fonctionnalités telles que l'envoi d'entrée à tous les processus, la transmission d'un mot de passe à ssh, l'enregistrement de la sortie dans des fichiers et le délai d'expiration.
Exemple et utilisation:
Connectez - vous à host1 et host2, et imprimez "hello, world" à partir de chacun:
pssh -i -H "host1 host2" echo "hello, world"
Exécutez 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 enregistrer les clés d'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 a un grand nombre d'entrées, disons 100, l'option de parallélisme peut également être définie sur 100 pour garantir 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 l'envoyer à chaque processus ssh.
-P: Indique à pssh d'afficher la sortie à son arrivée.
-h: lit le fichier de l'hôte.
-H: [utilisateur @] hôte [: port] pour un seul hôte.
-i: affiche la sortie standard et l'erreur standard lorsque chaque hôte termine
-x args: transmet des arguments supplémentaires en ligne de commande SSH
-o option: peut être utilisé pour donner des options au format utilisé dans le fichier de configuration. (/ etc / ssh / ssh_config ) (~ / .ssh / config)
-p parallélisme: utilise le nombre donné comme nombre maximum de connexions simultanées
-q Mode silencieux: provoque la suppression de la plupart des messages d'avertissement et de diagnostic.
-t: rend les connexions expirées après le nombre de secondes donné. 0 signifie que pssh n'expirera aucune connexion
Lors de la connexion à la machine distante, comment gérer le moment où il demande une authentification d'empreinte digitale RSA.
Désactivez StrictHostKeyChecking pour gérer l'invite d'authentification RSA.
-o StrictHostKeyChecking = non
Source : homme pssh