У меня есть веб-приложение, которое принимает открытый ssh-ключ пользователя через браузер, как это делает github или gitorious. Он предоставляет доступ по SSH пользователю, поместив ключ в домашний каталог пользователей.

Теперь я хочу скопировать этот ключ на другие серверы, чтобы предоставить пользователям доступ к другим серверам. Есть ли вменяемый способ сделать это и скопировать этот ключ ssh по требованию на другие серверы?

Я храню открытый ключ в базе данных.

Существует сервер ldap, который имеет учетные записи для всех пользователей. В бэкэнде есть несколько серверов, таких как git-сервер, тестовый сервер, сервер развертывания и т.д. И веб-приложение, и git-сервер находятся на одном узле.

Теперь ключ добавляется на git-сервер, и я хотел бы автоматически разместить ключ ssh на тестовом и развернутом серверах, чтобы они могли войти туда. Слышал что-то под названием брелок, но не мог понять это полностью. Поможет ли мне брелок для связи сервер-сервер? Надеюсь, я сейчас все правильно понял.

2 ответа2

0

Поскольку вы используете ldap для аутентификации, вы можете рассмотреть возможность использования патча для ssh, который позволяет использовать авторизованные ключи во время аутентификации. Таким образом, вам вообще не нужно распространять ключи.

http://code.google.com/p/openssh-lpk/

В противном случае, так как вы используете git, вы можете хранить пользовательские папки и авторизованные ключи в git и периодически делать git pull для их добавления.

0

В ldap есть схема для аутентификации пользователей через ssh, и если у вас версия ssh ниже 6.2, то вы должны исправить это с помощью «openssh-lpk», для openssh версии 6.2 вам не нужно это исправлять. Как только эта настройка будет завершена, настоящая проблема может быть решена с помощью ssh-agent.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .