SSH без пароля для всех компьютеров на сеть

Я знаю, что основной способ разрешить аутентификацию на основе ключей между двумя серверами состоит в следующих трех шагах:

ssh-keygen
ssh-copy-id -i remote_host
ssh remote_host

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

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

Есть ли способ легко сделать это для всех машин в одной сети, без необходимости настраивать это для каждой?

2
задан 19 May 2016 в 17:23
2 ответа

для управления сотнями серверов вам, вероятно, будет лучше использовать какой-либо инструмент управления конфигурацией, такой как puppet и chef, или ansible и т. Д.

вам все равно придется настроить его один раз но позже вы можете сделать гораздо больше, чем просто ssh, поэтому, вероятно, это будет полезно, например, когда вы хотите обновить ключ ssh, будет достаточно одного изменения в мастере марионетки (или эквивалентном в других CM). в целях безопасности рекомендуется время от времени менять ключ.

1
ответ дан 3 December 2019 в 12:40

вы можете использовать Bash:

#!/bin/bash
for ip in `cat /root/serverips.txt`; do
    ssh-copy-id -i ~/.ssh/id_rsa.pub $ip
done
0
ответ дан 3 December 2019 в 12:40

Теги

Похожие вопросы