Accès en lecture seule au dépôt GitHub via la clé SSH

22

Je veux générer une clé SSH avec seulement des autorisations de lecture à utiliser avec mon compte GitHub, est-ce possible? ou dois-je créer un autre compte avec une autorisation de lecture uniquement?

moquerie
la source
La clé de déploiement!
C0deDaedalus

Réponses:

19

Déployer des clés à la rescousse

Une clé de déploiement est une clé SSH qui:

  • est stocké sur votre serveur et accorde l'accès à un seul référentiel GitHub.
  • Souvent utilisé pour cloner des référentiels pendant les déploiements ou les exécutions d'intégration continue.
  • Les déploiements impliquent parfois la fusion de branches et la transmission de code, de sorte que les clés de déploiement ont toujours autorisé l'accès en lecture et en écriture .
  • Mais comme l'accès en écriture n'est pas souhaitable dans de nombreux cas, vous pouvez avoir la possibilité de créer des clés de déploiement avec un accès en lecture seule.
  • Les nouvelles clés de déploiement créées via GitHub.com seront en lecture seule par défaut et peuvent bénéficier d'un accès en écriture en les sélectionnant Allow write accesslors de la création.

Création d'une clé de déploiement en lecture seule

  1. Accédez à l' Settingsonglet dans le référentiel auquel vous souhaitez accorder une autorisation de lecture seule.
  2. Dans la barre de navigation de gauche Sélectionnez Deploy Keys

Clés de déploiement Github

  1. Cliquez Add Deploy Key .
  2. Donnez-lui un titre comme vous le souhaitez et ajoutez la clé ssh.
  3. Assurez-vous que cette case Allow write accessn'est pas cochée.
  4. Vous avez terminé !

Pour en savoir plus sur les clés de déploiement, lisez sur Github Developer . Reportez-vous également à ce magnifique aperçu de zhujunsan sur Github.

N'hésitez pas à ajouter plus de détails.

C0deDaedalus
la source
1
Et pour ajouter plusieurs référentiels, générez une clé SSH pour chacun et ajoutez la configuration au fichier de configuration SSH comme expliqué sur medium.com/@dustinfarris/…
Nagev
9

Les organisations Github peuvent "en quelque sorte" prendre en charge ce flux de travail:

  • Créer une organisation
  • Créez un compte factice qui sera utilisé pour un accès en lecture seule
  • Ajouter le compte factice à l'organisation avec des autorisations en lecture seule
  • Ajoutez les clés SSH que vous souhaitez avoir sur le compte en lecture seule
  • Utilisez votre ou vos comptes habituels pour autoriser l'écriture
Slava Knyazev
la source
2
Contrairement à la réponse acceptée, celle-ci vous donne un accès en lecture à TOUS les référentiels de l'organisation.
mareoraft