создать пользователя на нескольких серверах Ubuntu

создать пользователя на нескольких серверах Ubuntu

У нас есть несколько машин для разработки (на каждой могут быть разные приложения и среды, но на всех установлена ​​ОС Ubuntu 14.04).

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

Есть ли способ или механизм, позволяющий создать учетную запись один раз и с ее помощью входить на все серверы (используя ключ SSH)?

решение1

Однажды я сделал это с помощью простого дизайна.

  • Смонтировал раздел /home в средах разработки и тестирования на одном диске.
  • Таким образом, домашний каталог пользователей будет одинаковым независимо от того, находятся ли они на серверах разработки или тестирования.

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

Проблемы:

1) Это очень плохая идея, учитывая, что когда пользователь удаляет что-либо в своем домашнем каталоге в Dev, он не будет знать, что он стирает это и в Test.

2) Контроль доступа становится сложным, поскольку вы не можете контролировать, кто может войти в среду более высокого уровня.

Поэтому мой подход заключается в использовании скрипта для перемещения настроек учетной записи между средами/серверами по мере необходимости.

tar cvf - /home/<username> | ssh <servername> " (cd /home/<username> ; tar xvf - ) "

решение2

Лучший способ управления — использовать инструменты управления конфигурацией, такие как puppet или chef, которые помогут вам автоматизировать создание пользователей, ключей аутентификации или любых повторяющихся вещей и облегчить вашу работу. Сказав это, если у вас нет пароля для входа пользователя root на всех серверах, вы можете написать скрипт, который ssh <host> "useradd [options] username". https://puppetlabs.com

Связанный контент