Ось кілька прикладів використання команд, згаданих в інших відповідях:
Може приймати числові діапазони, виводи спочатку з ім'ям хоста, здається, фактично підтримуються :
найпростіша версія:
pdsh -w hostname echo done
вихід:
hostname: done
Складніший приклад:
pdsh -w username@hostname[7-8],username@otherhost "sleep 5 && echo done"
вихід:
hostname8: done
hostname7: done
otherhost: done
Мак: brew install pdsh
dsh -m user@host,user@host --remoteshell ssh --concurrent-shell -- "sleep 5 && echo done"
потрібна віддалена настройка оболонки, інакше він буде використовувати "rsh", який може бути, а може і не бути доступним.
Мак: brew install dsh
pssh -i -H user@host -H user@host "sleep 5 && echo done"
Всі вони можуть брати список машин із файлу, також необов’язково.
Сміливо додайте сюди більше прикладів, це вікі спільноти
Мак: brew install pssh
Кластер SSH ("mac only version", мабуть, є дві версії, інша є тут ) насправді відкриває "справжні термінали" з великим терміналом в нижній частині, який надсилає вхід для всіх інших. Таким чином, це як інтерфейс, який надсилає його на кілька.
Наприклад:
csshX hostname0[1-2] hostname3
потім введіть у червоне поле і воно перейде до кожного вікна терміналу, по одному на хост, щоб воно спливе.
mac: brew install csshx
(стара версія, але все ще працює)
також є brew install ansible
FWIW