Есть несколько способов выполнить команды или сценарий на нескольких удаленных машинах Linux. Один простой и легкий способ - через pssh (параллельная программа ssh)
pssh : это программа для параллельного выполнения ssh на нескольких хостах. Он предоставляет такие функции, как отправка входных данных всем процессам, передача пароля по ssh, сохранение вывода в файлы и тайм-аут.
Пример и использование:
подключитесь к host1 и host2 и выведите «hello, world» из каждого:
pssh -i -H "host1 host2" echo "hello, world"
Запускайте команды через скрипт на нескольких серверах:
pssh -h hosts.txt -P -I<./commands.sh
Использование и запуск команды без проверки или сохранения ключей хоста:
pssh -h hostname_ip.txt -x '-q -o StrictHostKeyChecking=no -o PreferredAuthentications=publickey -o PubkeyAuthentication=yes' -i 'uptime; hostname -f'
Если файл hosts.txt имеет большое количество записей, скажем 100, тогда параметр параллелизма также может быть установлен на 100, чтобы гарантировать, что команды выполняются одновременно:
pssh -i -h hosts.txt -p 100 -t 0 sleep 10000
Параметры :
-I: читать ввод и отправлять каждому процессу ssh.
-P: указывает pssh отображать вывод по мере его поступления.
-h: читает файл хоста.
-H: [пользователь @] хост [: порт] для одиночного хоста.
-i: отображать стандартный вывод и стандартную ошибку при завершении каждого хоста
-x args: передает дополнительные аргументы командной строки SSH
-o option: может использоваться для предоставления параметров в формате, используемом в файле конфигурации. (/ etc / ssh / ssh_config ) (~ / .ssh / config)
-p parallelism: использовать данное число как максимальное количество одновременных подключений
-q Тихий режим: подавляет большинство предупреждающих и диагностических сообщений.
-t: установить тайм-аут соединения через заданное количество секунд. 0 означает, что pssh не будет тайм-аут для подключения
Когда ssh'ing к удаленному компьютеру, как обрабатывать, когда он запрашивает аутентификацию по отпечатку пальца RSA.
Отключите StrictHostKeyChecking для обработки запроса проверки подлинности RSA.
-o StrictHostKeyChecking = нет
Источник : man pssh