Вот несколько примеров использования команд, упомянутых в других ответах:
Может принимать числовые диапазоны, выходные данные с именем хоста сначала, кажется, фактически поддерживается :
самая простая версия:
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», по-видимому, есть две версии, другая здесь есть ) фактически открывает «реальные терминалы» с большим терминалом внизу, который отправляет входные данные всем остальным. Так что это как пользовательский интерфейс, который отправляет его нескольким.
Пример:
csshX hostname0[1-2] hostname3
затем введите в красное поле, и оно будет отображаться в каждом окне терминала, по одному на хост, чтобы оно всплыло.
Mac: brew install csshx
(старая версия, но все еще работает)
есть также brew install ansible
FWIW