Ограничить доступ Github к одному репозиторию по ssh и https URL

#git #github #ssh #https

#git #github #ssh #https

Вопрос:

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

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

Здесь возникает аналогичный вопрос: ограничить доступ Github API только к одному репозиторию пользователя

Однако я не вижу способа ограничить доступ SSH к одному репозиторию в Github.

https://help.github.com/articles/adding-a-new-ssh-key-to-your-github-account/

Кто-нибудь знает, как я могу разрешить доступ к одному частному репозиторию только на удаленном компьютере?

Комментарии:

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

Ответ №1:

Если вы хотите ограничить доступ Git к одному репозиторию, вы можете использовать ключ развертывания SSH, который может быть доступен только для чтения или чтения-записи. Они предназначены именно для этого случая. В настоящее время GitHub не предоставляет способа ограничить доступ к одному репозиторию на основе учетных данных HTTP.

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

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

Комментарии:

1. Какие-либо варианты, если у вас нет доступа к настройкам репозитория (работая в качестве соавтора)?

2. Я не верю, что у соавторов есть способ создать такие учетные данные, нет.

Ответ №2:

Предоставляете ли вы клиенту доступ к своей учетной записи? Похоже, именно так кто-то может получить доступ к вашим частным репозиториям.

Вы можете попросить клиента создать учетную запись git, добавить их в качестве соавтора в свой частный репозиторий и добавить ssh-ключ компьютера в свою учетную запись. Затем клиент может использовать свою учетную запись для доступа к вашему репозиторию. Я считаю, что таким образом они будут иметь доступ к своему репозиторию, но не к другим вашим репозиториям.