Aqui estão alguns exemplos usando os comandos mencionados em outras respostas:
Pode assumir intervalos numéricos, as saídas com o nome do host primeiro, parecem realmente mantidas :
versão mais simples:
pdsh -w hostname echo done
saída:
hostname: done
Exemplo mais complicado:
pdsh -w username@hostname[7-8],username@otherhost "sleep 5 && echo done"
saída:
hostname8: done
hostname7: done
otherhost: done
Mac: brew install pdsh
dsh -m user@host,user@host --remoteshell ssh --concurrent-shell -- "sleep 5 && echo done"
precisa de configuração de shell remoto, caso contrário, ele usará "rsh", que pode ou não estar disponível.
Mac: brew install dsh
pssh -i -H user@host -H user@host "sleep 5 && echo done"
Todos eles podem obter a lista de máquinas de um arquivo, opcionalmente também.
Sinta-se livre para adicionar mais exemplos aqui, é um wiki da comunidade
Mac: brew install pssh
O cluster SSH (a "versão apenas para mac", aparentemente, existem duas versões que a outra está aqui ) na verdade abre "terminais reais" com um grande terminal na parte inferior que envia entrada para todos os outros. Portanto, é como uma interface do usuário que a envia para vários.
Ex:
csshX hostname0[1-2] hostname3
digite na caixa vermelha e ele vai para cada janela do terminal, uma por host, que é exibida.
mac: brew install csshx
(uma versão antiga, mas ainda funciona)
há também um brew install ansible
FWIW