1

У меня есть список машин Linux, около 90 или около того.

Они сохраняются в файле как Host, USR, PW.
Есть ли способ, которым я могу прочитать этот список, а затем подключиться к каждому хосту и выполнить команды X, Y, Z

В прошлом я касался каждой машины отдельно и просто выполнял команды вручную.
Берет навсегда. Должен быть лучший способ.

5 ответов5

1

Func

ClusterSSH

1

Вы можете использовать SSH с ключами аутентификации.

Таким образом, вы можете подключиться к каждому серверу с помощью ssh и выполнить ваши команды.

Объясняется здесь -> http://www.debian-administration.org/article/SSH_with_authentication_key_instead_of_password

чтобы прочитать файл, вы можете использовать awk для фильтрации только хостов

кошка file.txt | awk {print $ 1} (не знаю файл, так что это пример)

1

Пакетный режим SSH должен это сделать. Обсуждается здесь: http://www.thegeekstuff.com/2009/10/how-to-execute-ssh-and-scp-in-batch-mode-only-when-passwordless-login-is-enabled/

ssh -o "BatchMode yes" ramesh@remote-host who

чтобы использовать имена пользователей и пароли, вам, возможно, придется поработать с ожидаемым. использование предварительного общего ключа требуется для пакетного режима

0

Взгляните на MCollective от Puppet Labs и плагин shellcmd-agent.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .