2014-10-11 5 views
1

Было неожиданно легко настроить удаленный репозиторий на моем VPS. Я хочу, чтобы некоторые люди читали доступ, некоторые другие люди читали и записывали доступ к одному или нескольким репозиториям. И все они должны подключиться через пользователя git, например, на GitHub или BitBucket.Git «server», управляющий доступ через SSH-ключи

Как вы можете указать разрешения доступа, не связанные с пользователями системы, а с помощью ключа SSH, который они используют? Например, каждый может читать из публичного репозитория на GitHub, но не обязательно писать. Хотя все они будут клонировать его через git clone [email protected]:YourName/repo_name.git. Таким образом, управление ею невозможно с помощью разрешений пользователя/группы/мира Unix.

Кроме того, доступ к оболочке SSH отключен.

$ ssh [email protected] 
Hi YourName! You've successfully authenticated, but GitHub does not provide shell access. 

Как я могу воспроизвести это «поведение» на моем VPS?

ответ

1

Вы можете воспроизводить (даже с большей степенью контроля) с и authorization layer как gitolite.

Это perl-скрипт, выполненный для работы с ключом ssh и ssh, позволяющий вам определять группы (людей и репозиториев) и устанавливать уровни контроля доступа с этими группами.

См. "How do programs like gitolite work?".

Смежные вопросы