Hay varias formas de ejecutar los comandos o secuencias de comandos en las múltiples máquinas Linux remotas. Una forma simple y fácil es a través de pssh (programa ssh paralelo)
pssh : es un programa para ejecutar ssh en paralelo en varios hosts. Proporciona funciones como enviar entradas a todos los procesos, pasar una contraseña a ssh, guardar la salida en archivos y agotar el tiempo de espera.
Ejemplo y uso:
Conéctese a host1 y host2 e imprima "hola, mundo" de cada uno:
pssh -i -H "host1 host2" echo "hello, world"
Ejecute comandos a través de una secuencia de comandos en varios servidores:
pssh -h hosts.txt -P -I<./commands.sh
Utilice y ejecute un comando sin verificar ni guardar las claves de host:
pssh -h hostname_ip.txt -x '-q -o StrictHostKeyChecking=no -o PreferredAuthentications=publickey -o PubkeyAuthentication=yes' -i 'uptime; hostname -f'
Si el archivo hosts.txt tiene una gran cantidad de entradas, digamos 100, entonces la opción de paralelismo también puede establecerse en 100 para garantizar que los comandos se ejecuten simultáneamente:
pssh -i -h hosts.txt -p 100 -t 0 sleep 10000
Opciones :
-I: Leer entrada y enviar a cada proceso ssh.
-P: Le dice a pssh que muestre la salida a medida que llega.
-h: Lee el archivo del host.
-H: [usuario @] host [: puerto] para un solo host.
-i: muestra la salida estándar y el error estándar a medida que cada host completa
-x args: pasa argumentos de línea de comandos SSH adicionales
-o opción: puede usar para proporcionar opciones en el formato utilizado en el archivo de configuración. (/ etc / ssh / ssh_config ) (~ / .ssh / config)
-p paralelismo: use el número dado como el número máximo de conexiones simultáneas
-q Modo silencioso: provoca que se supriman la mayoría de los mensajes de advertencia y diagnóstico.
-t: Hace que las conexiones se agoten después del número de segundos especificado. 0 significa que pssh no agotará el tiempo de espera de ninguna conexión
Al enviar un mensaje a la máquina remota, cómo manejar cuando solicita la autenticación de huellas digitales RSA.
Deshabilite StrictHostKeyChecking para manejar la solicitud de autenticación RSA.
-o StrictHostKeyChecking = no
Fuente : man pssh