Как получить пароль без пароля ssh между любыми двумя узлами в кластере серверов

Я столкнулся с проблемой о том, как установить пароль без пароля между любыми двумя узлами в кластере серверов. Теперь у меня есть кластер серверов, состоящий из 10 узлов со следующими IP-адресами:

192.168.0.1 # node1 192.168.0.2 # node2 ... 192.168.0.10 # node10 

Мое имя пользователя на этих трех узлах – все xyz , а система на этих узлах – Ubuntu14.04 .

Кажется, это канонический вопрос, и во многих местах ему нужно было ответить, но мой поиск с использованием Google только подскажет мне решение для двух узлов. Например, передайте открытый ключ, сгенерированный в node1 в файл authorized_keys в node2, ..., node10 чтобы разрешить вход без пароля с node1 в остальные узлы. Но как масштабировать этот метод для любых двух узлов в кластере серверов? следует ли мы вручную генерировать открытый ключ в каждом узле и копировать открытый ключ каждого узла на остальные узлы? Есть ли общий и удобный метод?

  • ProxyCommand используется для множественной пересылки и проверки подлинности запроса
  • Несогласованная производительность X11-forwarding
  • Почему sshd перезапускается при запуске yum cron?
  • SSH SOCKS5 proxy, является ли мой трафик безопасным?
  • Проверьте, включен ли SSH или отключен в Solaris 11
  • Как получить QEMU для открытия без ошибки BadWindow после ssh'ing с пересылкой X11?
  • Проблема туннелирования X с удаленной машины
  • Директива chroot в sshd_config не позволяет исключить пользователей
  • One Solution collect form web for “Как получить пароль без пароля ssh между любыми двумя узлами в кластере серверов”

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

    Если у них разные файловые системы, вам нужно сделать это вручную. Либо вы создаете новый SSH-ключ для пользователя xyz и ssh-copy-id который для каждого из других серверов. Это масштабируется как N² с количеством серверов, что не круто.

    Вы можете сгенерировать один SSH-ключ и скопировать его на все компьютеры в /home/xyz/.ssh/id_rsa и id_rsa.pub . Затем зарегистрируйте этот ключ со всей машиной. Теперь вы можете войти с любого сервера на любой другой сервер, используя тот же SSH-ключ.

    Чтобы развернуть это, я бы написал быстрый скрипт, который использует scp и for -loop для итерации по серверам.

    Linux и Unix - лучшая ОС в мире.