Existem várias maneiras de executar os comandos ou script nas várias máquinas Linux remotas. Uma maneira simples e fácil é via pssh (programa ssh paralelo)
pssh : é um programa para executar ssh em paralelo em vários hosts. Ele fornece recursos como o envio de entrada para todos os processos, passagem de uma senha para ssh, salvamento da saída em arquivos e tempo limite.
Exemplo e uso:
conecte-se ao host1 e host2 e imprima "hello, world" de cada um:
pssh -i -H "host1 host2" echo "hello, world"
Execute comandos por meio de um script em vários servidores:
pssh -h hosts.txt -P -I<./commands.sh
Use e execute um comando sem verificar ou salvar as chaves do host:
pssh -h hostname_ip.txt -x '-q -o StrictHostKeyChecking=no -o PreferredAuthentications=publickey -o PubkeyAuthentication=yes' -i 'uptime; hostname -f'
Se o arquivo hosts.txt tiver um grande número de entradas, digamos 100, a opção de paralelismo também pode ser definida como 100 para garantir que os comandos sejam executados simultaneamente:
pssh -i -h hosts.txt -p 100 -t 0 sleep 10000
Opções :
-I: Lê a entrada e envia para cada processo ssh.
-P: Diz ao pssh para exibir a saída assim que ela chegar.
-h: Lê o arquivo do host.
-H: [usuário @] host [: porta] para host único.
-i: Exibe a saída padrão e o erro padrão conforme cada host conclui
-x args: Passa argumentos de linha de comando SSH extras
-o opção: Pode ser usado para fornecer opções no formato usado no arquivo de configuração. (/ etc / ssh / ssh_config ) (~ / .ssh / config)
-p paralelismo: Use o número fornecido como o número máximo de conexões simultâneas
-q Modo silencioso: Faz com que a maioria das mensagens de aviso e diagnóstico sejam suprimidas.
-t: Estabelece o tempo limite das conexões após um determinado número de segundos. 0 significa que o pssh não irá desligar nenhuma conexão
Ao enviar por ssh para a máquina remota, como lidar com quando ele solicitar autenticação de impressão digital RSA.
Desative o StrictHostKeyChecking para lidar com o prompt de autenticação RSA.
-o StrictHostKeyChecking = não
Fonte : man pssh