В файле .txt есть список IP-адресов, например:
1.1.1.1
2.2.2.2
3.3.3.3
За каждым IP-адресом находится сервер, и на каждом сервере есть sshd, работающий на порте 22. Не каждый сервер находится в known_hosts
списке (на моем компьютере Ubuntu 10.04 LTS / bash).
Как я могу запускать команды на этих серверах и собирать вывод?
В идеале я хотел бы запускать команды параллельно на всех серверах.
Я буду использовать аутентификацию с открытым ключом на всех серверах.
Вот некоторые потенциальные подводные камни:
- SSH побуждает меня поместить данный SSH ключ сервера в мой
known_hosts
файл. - Данные команды могут возвращать ненулевой код выхода, что указывает на то, что вывод потенциально недействителен. Мне нужно это признать.
- Возможно, не удалось установить соединение с данным сервером, например, из-за сетевой ошибки.
- Должен быть тайм-аут в случае, если команда выполняется дольше, чем ожидалось, или сервер не работает во время выполнения команды.
Серверы AIX / ksh (но я думаю, что это не имеет значения.