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


Настройка рабочих станций под управлением Ubuntu Linux
authorizedkeysfile git rccontrol rhodecode server wrapper
 
 

* В этом блоге я описываю свою повседневную рабочую практику, поэтому все статьи в блоге написаны лично мной и при копировании их на свой сайт пожалуйста указывайте ссылку на страницу откуда вы скопировали.
* Если какая-то статья вам помогла, то вы можете дать мне немного денег вместо простого спасибо (ссылка на форму поддержки проекта внизу страницы), если вы что-то не поняли или у вас что-то не получается, то вы можете нанять меня и я вам все подробно расскажу (расценки и ссылки в конце статьи).


(последние правки 1 неделя)

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

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

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

Моя официальная страница на FaceBook
Мой микроблог в твиттер

Установка 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, это просто словами не описать, мало того. что они ограничивают системного администратора набором шаблонных функций, так еще и ломаются на раз по самым необъяснимым причинам. Я по возможности стараюсь отказываться от проектов где меня просят сделать из сервера с панелью управления нечто нестандартное, но сегодня рассмотрим именно такой кейс.


Как вы наверное понимаете, бесплатно сейчас работать никто не будет и если ответ на ваш вопрос потребует больше трех минут времени и вам требуется полноценная консультация, то расценки на мои услуги представленны ниже.


Есть вопросы?
Спрашивайте и я обязательно вам отвечу!

* Поля обязательные для заполнения .