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

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

 
 
Логотип GITA-DEV

Автор: Черноусов Антон aka Gita-Dev
Опубликовано: 12 Мар 2018 (последние правки 1 месяц)

admin git rhodecode tar авторизация

Все современные хранилища репозиториев поддерживают авторизацию с использованием открытых ключей и в связи с этим было неожиданно увидеть сообщение "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)

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

Похожие статьи

Установка Hg/Git/Svn хранилища репозитария Rhodecode

Установка Hg/Git/Svn хранилища репозитария Rhodecode

И хотя стандартном де-факто для построения внутренних GIT-хранилищ на данный момент является GitLab есть компании где еше не все мигрировали на Git и требуется поддержка нескольких типов репозитариев. Сегодня мы рассмотрим один из проектов корпоративных хранилищ исходных кодов с поддержкой нескольких типов репозитариев, а речь пойдет о RhodeCode. И в первом обзоре мы рассмотрим как установить, хранилище репозитариев.


RhodeCode интеграция с Active Directory

RhodeCode интеграция с Active Directory

При работе с множеством внутренних корпоративных сервисов всегда возникает желание как-то унифицировать логины и пароли пользователей и упростить создание новых пользователей. Не сказать, что у нас большая текучка, но болшьшое число внутренних сервисов создает некоторые проблемы с заведением новых пользователей, так как даже следуя плану предоставления доступа можно что-то забыть. Я предпочитаю привязывать все сервисы в ActiveDirectory компании и повозможности интегрировать пользователей и группы различных сервисов с пользователями и группами в ActiveDirectory.


Обновление RhodeCode

Обновление RhodeCode

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


Настройка RhodeCode на сервере под управлением ISPmanager

Настройка RhodeCode на сервере под управлением ISPmanager

Как я ненавижу разного рода панели управления наподобие ISP, это просто словами не описать, мало того. что они ограничивают системного администратора набором шаблонных функций, так еще и ломаются на раз по самым необъяснимым причинам. Я по возможности стараюсь отказываться от проектов где меня просят сделать из сервера с панелью управления нечто нестандартное, но сегодня рассмотрим именно такой кейс.


Отзывы и комментарии