Доступ только для чтения к репозиторию GitHub через ключ SSH

22

Я хочу сгенерировать SSH-ключ только с правами READ для использования с моей учетной записью GitHub, возможно ли это? или я должен создать другую учетную запись только с разрешением на чтение?

перекидывать
источник
Ключ развертывания!
C0deDaedalus

Ответы:

19

Разверните ключи на помощь

Ключ развертывания - это ключ SSH, который:

  • хранится на вашем сервере и предоставляет доступ к одному репозиторию GitHub.
  • Часто используется для клонирования репозиториев во время развертываний или непрерывной интеграции.
  • Развертывания иногда включают в себя объединение ветвей и передачу кода, поэтому ключи развертывания всегда разрешают доступ как для чтения, так и для записи .
  • Но поскольку доступ на запись нежелателен во многих случаях, вы можете иметь возможность создавать ключи развертывания с доступом только для чтения.
  • Новые ключи развертывания, созданные через GitHub.com, будут по умолчанию доступны только для чтения, и им можно будет предоставить доступ для записи, выбрав их Allow write accessпри создании.

Создание ключа развертывания только для чтения

  1. Перейдите на Settingsвкладку внутри репозитория, который вы хотите дать только для чтения.
  2. На левой боковой панели навигации выберите Deploy Keys

Github Deploy Keys

  1. Нажмите Add Deploy Key .
  2. Дайте ему название, какое хотите, и добавьте ключ ssh.
  3. Убедитесь, что флажок Allow write accessснят.
  4. Вы сделали!

Чтобы узнать больше о ключах Deploy, читайте на Github Developer . Также обратитесь к этой прекрасной сущности Чжуюнсана на Github.

Не стесняйтесь добавлять дополнительные детали.

C0deDaedalus
источник
1
И добавить несколько репозиториев, генерировать один ключ SSH для каждого и добавить конфигурацию в файл конфигурации SSH , как описано на medium.com/@dustinfarris/...
Nagev
9

Организации Github могут «отчасти» поддерживать этот рабочий процесс:

  • Создать организацию
  • Создайте фиктивную учетную запись, которая будет использоваться для доступа только для чтения
  • Добавьте фиктивную учетную запись в организацию с разрешениями только для чтения
  • Добавьте любые SSH-ключи, которые вы хотите иметь в учетной записи только для чтения
  • Используйте свой обычный аккаунт (ы), чтобы разрешить запись
Слава Князев
источник
2
В отличие от принятого ответа, этот дает вам доступ на чтение ко ВСЕМ репозиториям в организации.
mareoraft