У нас есть несколько машин для разработки (на каждой могут быть разные приложения и среды, но на всех установлена ОС 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