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

Разрешить системным учетным записям входить на другой сервер без паролей

Я хотел бы разрешить пользователю «devel» входить на любой другой сервер, используя открытые ключи, как пользователь «devel». Этот пользователь не человек, а учетная запись только для сценариев. Как я могу этого добиться? Puppet - правильный путь? Как каждый источник сервер получить необходимый ключевой материал? я очень осведомлены о том, как закрытые и открытые ключи используются для аутентификации SSH, и о степени конфиденциальности, которая обеспечивается закрытыми ключами.

Предположим, что имеется 100 серверов, а частные и открытые ключи необходимо менять каждые 90 дней.

Это похоже на возможный вариант использования Hashicorp Свод.

В Бэкэнд SSH допускает два режима работы:

  • одноразовые пароли, которые требуют установки вспомогательного компонента на каждом сервере, который проверяет пользователей с помощью Vault - заранее клиенты запрашивают Vault через API, и для каждого доступа выдается новый пароль

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

Любой метод может быть автоматизирован для скриптов. Им все равно потребуется пройти аутентификацию в Vault, но у вас есть единая точка контроля.