Назад | Перейти на главную страницу

Как настроить SSH, чтобы 5 человек могли входить в 100 ящиков Linux с одинаковыми учетными данными?

Предположим, у меня есть 5 пользователей и 100 машин Linux с включенной удаленной оболочкой. Как мне настроить среды, чтобы позволить этим нескольким пользователям входить в систему на любой из машин с одинаковыми учетными данными?

Настроить домен LDAP

При использовании домена LDAP каждый запрос проверки подлинности на любой компьютер перенаправляется на контроллер домена. Насколько мне известно, некоторые дистрибутивы Linux могут присоединиться к домену Windows, если он у вас уже есть. Благодаря этому у вас есть полный централизованный контроль над всеми пользователями в сети. Вы можете сразу добавлять и удалять пользователей с одного компьютера.

Плюсы:

  • Самый простой в обслуживании
  • Немедленный эффект от управления пользователями
  • Очень полезно и дешево, если у вас уже есть активный домен в вашей компании
  • Интегрирован с обычным программным обеспечением для управления доменами (например, если вы используете Windows)

Минусы:

  • Если контроллер LDAP не кластеризован, это будет единственная точка отказа, поэтому вы должны учитывать больше серверов.
  • (продолжение) Дополнительные серверы для LDAP и кластера делают решение более дорогим
  • Немного сложно настроить, если у вас еще не запущен контроллер домена
  • AFAIK вы не можете использовать аутентификацию с открытым ключом

Распространение ключей SSH с централизованной машины

Это очень полезно, если вы хотите использовать более строгую аутентификацию с открытыми ключами. Вы можете загрузить ключи всех пользователей в один ящик, в котором выполняется задание Cron. scpвставка общих ключей в правильные домашние каталоги через определенные промежутки времени

Плюсы:

  • Отказоустойчивой. Любое количество серверов может выйти из строя, но доступные машины не пострадают
  • Самый простой и дешевый в настройке

Минусы:

  • Если у вас более "пяти" пользователей, т.е. вы работаете в большой корпоративной сети, управление пользователями крайне затруднено
  • (продолжение выше) создание, удаление пользователей и т. д. должно выполняться для каждого сервера, обычно с помощью сценария, который реплицирует команды
  • Открытые ключи обновляются с задержкой, если вы не запускаете скрипт вручную

Смонтируйте домашние каталоги на общем сетевом диске (NFS, SSHFS ...)

Это дает преимущество изменения открытых ключей в реальном времени (поскольку они всегда считываются из общего сетевого ресурса). Кроме того, если вы сделаете /etc/shadow символическая ссылка на общий диск, у вас есть управление пользователями в реальном времени с вашего контроллера

Плюсы:

  • Немного, кроме модификаций в реальном времени
  • Весь домашний каталог разделяется между серверами (это часто бывает удобно, поверьте мне ...)

Минусы:

  • Отказоустойчивый как домен LDAP. Вам нужно реплицировать домашние каталоги, иначе вы не можете аутентифицироваться
  • Сложнее обоих решений настроить и поддерживать

Ниже показано, как крупная организация делает это с помощью ключей Puppet и SSH. Puppetmaster распределяет учетные записи пользователей, каталог настроек ssh для каждого пользователя и устанавливает пароль для каждого пользователя.

http://itand.me/using-puppet-to-manage-users-passwords-and-ss

Это можно воспроизвести в любой системе управления конфигурацией, а не только в Puppet.