Мой блог - Как включить доступ к репозитариям по ключу в RhodeCode

Как включить доступ к репозитариям по ключу в RhodeCode

RhodeCode поддерживает доступ к репозитариям с использованием публичного ключа, но по умолчанию этот режим отключен и используется доступ к репозитариям с использованием пары логин-пароль. Я предпочитаю использовать именно авторизацию по ключу и сегодня будем разбираться как этот режим включить в RhodeCode

Фотография автора

Автор: Антон Черноусов
Опубликовано: 1 месяц, 4 недели (последние правки: 0 минут назад) - 0 комментариев
Категории записи: Devops, Linux, Системное администрирование


Все современные хранилища репозиториев поддерживают авторизацию с использованием открытых ключей и в связи с этим было неожиданно увидеть сообщение "SSH Keys usage is currently disabled, please ask your administrator to enable them.".

По умолчанию авторизация по ключу запрещена

Так как на этом проекте администратор я, то и спрашивать буду у себя.

Официальная документация по ssh-авторизации находится по адресу https://docs.rhodecode.com/RhodeCode-Enterprise/auth/ssh-connection.html, фактически для включения режима авторизации по ключам надо добавить раздел AuthorizedKeysFile в конфигурацию демона sshd и включить режим авторизации по ключу в конфигурационном файле RhodeCode.

Начнем с модификации конфигурации демона sshd и вам потребуется изменить строку (в некоторых дистрибутивах ее придется раскомментировать):

AuthorizedKeysFile     %h/.ssh/authorized_keys

в файле /etc/ssh/sshd_config на:

AuthorizedKeysFile      %h/.ssh/authorized_keys %h/.ssh/authorized_keys_rhodecode

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

В завершении настройки разрешаем RhodeCode использовать SSH-авторизации, для чего в файле /home/git/.rccontrol/community-1/rhodecode.ini измените параметры:

ssh.generate_authorized_keyfile = true
ssh.authorized_keys_file_path = ~/.ssh/authorized_keys_rhodecode
ssh.wrapper_cmd = ~/.rccontrol/community-1/rc-ssh-wrapper
ssh.wrapper_cmd_allow_shell = false
ssh.enable_debug_logging = false
ssh.executable.hg = ~/.rccontrol/vcsserver-1/profile/bin/hg
ssh.executable.git = ~/.rccontrol/vcsserver-1/profile/bin/git
ssh.executable.svn = ~/.rccontrol/vcsserver-1/profile/bin/svnserve

Фактически достаточно только изменить строку ssh.generate_authorized_keyfile = true, а остальные оставить по умолчанию.

Авторизация по ключам будет доступна после перезапуска службы:

# systemctl restart rhodecode.service

После добавления вашего публичного файла проверьте изменения в файле authorized_keys_rhodecode (в каталоге пользователя git)

Авторизация по ключу активирована

Пожалуйста, оцените мою статью (всего оценок 0, средняя оценка 4.00):

Комментарии к статье:

Пока комментариев нет

Оставьте комментарий:

обязательно

обязательно (не публикуется)

необязательно

обязательно

обязательно

Последние записи

Архив

2018

Категории

Ленты

RSS / Atom