Esistono diversi modi per eseguire i comandi o gli script su più macchine Linux remote. Un modo semplice e più semplice è tramite pssh (programma ssh parallelo)
pssh : è un programma per eseguire ssh in parallelo su un numero di host. Fornisce funzionalità come l'invio di input a tutti i processi, il passaggio di una password a ssh, il salvataggio dell'output su file e il timeout.
Esempio e utilizzo:
connettersi a host1 e host2 e stampare "hello, world" da ciascuno:
pssh -i -H "host1 host2" echo "hello, world"
Esegui comandi tramite uno script su più server:
pssh -h hosts.txt -P -I<./commands.sh
Usa ed esegui un comando senza controllare o salvare le chiavi host:
pssh -h hostname_ip.txt -x '-q -o StrictHostKeyChecking=no -o PreferredAuthentications=publickey -o PubkeyAuthentication=yes' -i 'uptime; hostname -f'
Se il file hosts.txt ha un numero elevato di voci, ad esempio 100, l'opzione parallelismo può anche essere impostata su 100 per garantire che i comandi vengano eseguiti contemporaneamente:
pssh -i -h hosts.txt -p 100 -t 0 sleep 10000
Opzioni :
-I : legge l' input e invia a ogni processo ssh.
-P: dice a pssh di visualizzare l'output non appena arriva.
-h: legge il file dell'host.
-H: [utente @] host [: porta] per host singolo.
-i: Visualizza l'output standard e l'errore standard al completamento di ogni host
-x args: Passa argomenti extra della riga di comando SSH
-o opzione: può essere utilizzata per fornire opzioni nel formato utilizzato nel file di configurazione. (/ etc / ssh / ssh_config ) (~ / .ssh / config)
-p parallelismo: utilizza il numero specificato come numero massimo di connessioni simultanee
-q Modalità silenziosa: causa l'eliminazione della maggior parte dei messaggi di avviso e di diagnostica.
-t: fa scadere le connessioni dopo il numero di secondi specificato. 0 significa che pssh non interromperà alcuna connessione
Quando si esegue lo ssh sulla macchina remota, come gestire quando richiede l'autenticazione dell'impronta digitale RSA.
Disabilita StrictHostKeyChecking per gestire il prompt di autenticazione RSA.
-o StrictHostKeyChecking = no
Fonte : man pssh