#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-ключ компьютера в свою учетную запись. Затем клиент может использовать свою учетную запись для доступа к вашему репозиторию. Я считаю, что таким образом они будут иметь доступ к своему репозиторию, но не к другим вашим репозиториям.