Как я могу установить доступ только для чтения к ssh git серверу? - PullRequest
1 голос
/ 08 марта 2012

У меня есть git-репо на моем сервере, который я могу протолкнуть / вытащить через SSH очень хорошо, например:

git clone ssh://user@domain.com/repositories/myrepo.git

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

Заранее спасибо!

Ответы [ 3 ]

4 голосов
/ 08 марта 2012

не через ssh;если вы не хотите распространять общедоступных, они могут войти в систему, и это ужасная идея.

Способ, которым мы получили эту функциональность в нашем gitolite, заключался в использовании git-daemon;вам нужно открыть новый порт, но вы можете указать для каждого репозитория, какие он будет обслуживать, и можете указать только для чтения.Пользователи будут клонировать с помощью протокола git, т.е.

git clone git: //domain.com/repositories/myrepo.git

Другой способ - установить репозиторий нанапрямую через веб-сервер;тогда пользователь может получить доступ по стандартному http.

Хорошим обзором является страница в сообществе git здесь , а также справочные страницы для git-daemon.

1 голос
/ 27 февраля 2016

Вы можете использовать git-shell, устанавливать только разрешения на чтение в хранилище и использовать аутентификацию по ключу.Это возможно, когда вы контролируете, кто получает ключ.

1 голос
/ 08 марта 2012

Вы можете использовать git-daemon.Это снимет зависимость от наличия действительных учетных данных ssh.

...