Geekflare est soutenu par son public. Nous pouvons percevoir des commissions d'affiliation sur les liens d'achat présents sur ce site.
En Développement Dernière mise à jour : 25 septembre 2023
Partager sur :
Invicti Web Application Security Scanner - la seule solution qui offre une vérification automatique des vulnérabilités avec Proof-Based Scanning™.

La répétition d'une même tâche est ennuyeuse et pénible pour les programmeurs que nous sommes. N'est-ce pas ?

L'une de ces tâches est l'interactivité avec le dépôt privé de GitHub. De quoi s'agit-il ? Vous savez de quoi il s'agit. Et vous cherchez des moyens de le résoudre et vous avez atterri sur cet article. Vous cesserez de chercher après avoir lu cet article

Nous allons donc parler ici de l'accès au dépôt privé de GitHub sans mot de passe. Sans plus attendre, commençons

Il y a deux façons d'accéder à un dépôt GitHub. Il s'agit de HTTPS et de SSH. La plupart d'entre vous utilisent HTTPS. Mais vous savez maintenant que ce n'est pas un moyen efficace d'utiliser la méthode HTTPS pour cloner les dépôts privés

L'accès inclut le clonage, le push, le pulling, etc... ; tout ce qui est lié à la mise à jour de notre dépôt à distance

Il n'y a pas de problème lorsqu'il s'agit d'accéder aux dépôts publics. Mais nous devons nous authentifier lorsque nous accédons à un dépôt privé. Il existe différentes façons de s'authentifier

Commençons par la plus familière..

Si vous utilisez HTTPS

Vous devez probablement connaître la méthode HTTPS et en rechercher d'autres. Voyons rapidement comment accéder à un dépôt privé en l'utilisant

  • Copiez le lien de votre dépôt privé.
Dépôt privé GitHub
Dépôt privé GitHub
  • Ouvrez le terminal ou cmd dans votre machine.
  • Collez la commande git clone link pour cloner le dépôt privé.
  • Remplacez le privilège par le lien de votre dépôt privé.
  • Il nous demandera de nous authentifier. Nous devons donc entrer nos identifiants GitHub.
  • Tout d'abord, il nous demandera d'entrer notre nom d'utilisateur GitHub. Entrez votre nom d'utilisateur GitHub et appuyez sur Entrée.
Nom d'utilisateur pour l'authentification
Nom d'utilisateur pour l'authentification
  • Maintenant, nous devons entrer le mot de passe. Saisissez votre mot de passe GitHub et appuyez sur Entrée.
Mot de passe d'authentification
Mot de passe d'authentification

Voilà, nous avons cloné le dépôt privé en utilisant la méthode HTTPS . Maintenant, mettez à jour quelque chose dans le référentiel, validez et poussez les modifications sur le serveur distant

Qu'avez-vous remarqué ?

Il demande à nouveau l'authentification

Authentification par poussée
Authentification par poussée
Authentification par poussée
Authentification par poussée

N'est-ce pas une tâche lourde et ennuyeuse que d'entrer des informations d'identification chaque fois que nous interagissons avec le référentiel privé ?

Oui, c'est vrai

Nous ne pouvons pas entrer nos identifiants GitHub à chaque fois que nous interagissons avec notre dépôt privé. C'est un processus qui prend du temps et qui ralentit notre travail

Il y a différentes façons de se débarrasser de ce problème. La meilleure façon de le faire est d'utiliser SSH. Mais il existe d'autres façons de le faire. Examinons-les une à une

.git config

Toutes les informations sur les versions de nos dépôts sont stockées dans le répertoire .git. C'est un dossier caché. Il contient un fichier de configuration qui nous permet de configurer les paramètres. Mais ce n'est pas recommandé en général

Nous pouvons cloner un dépôt privé en ajoutant notre nom d'utilisateur et notre mot de passe dans l'URL du dépôt comme suit

clone git<strong>https://username:password@github.com/username/repository_name.git</strong>

Mettez à jour le nom d Utilisateur, le mot de passe et le nom du dépôt avec les détails appropriés. Puisque nous avons donné nos informations d'identification dans l'URL, il n'y aura pas de demande d'authentification comme nous l'avons vu précédemment

Nous allons donc suivre la méthode d'authentification ci-dessus et mettre à jour la configuration de notre référentiel en conséquence. Voyons les étapes pour se débarrasser de l'authentification répétitive en mettant à jour l'URL

  • Ouvrez le dossier .git dans votre dépôt cloné.
Dossier .git
Dossier .git
  • Vous y trouverez un fichier nommé config. Ouvrez-le en utilisant l'éditeur de texte de votre choix.
  • Il y aura une ligne avec le lien de notre dépôt comme suit.
Lien vers le référentiel dans la configuration
Lien du dépôt dans config
  • Mettez à jour l'URL en ajoutant votre nom d'utilisateur et votre mot de passe, comme indiqué ci-dessus.
Mise à jour de l'URL du référentiel
Mise à jour de l'URL du référentiel

Maintenant, mettez à nouveau à jour quelque chose dans le référentiel, livrez-les et poussez-les

Observez-vous quelque chose ?

Il n'aurait pas dû vous demander vos identifiants GitHub cette fois-ci. Nous avons donc résolu notre problème en mettant à jour les paramètres de notre dépôt

Vous avez peut-être remarqué que ce n'est pas sécurisé. Nous exposons nos informations d'identification. Et cette méthode ne fonctionnera pas si votre mot de passe GitHub contient le caractère@

Il y a donc de gros inconvénients à utiliser cette méthode. Ignorons-la et passons à la méthode suivante

credential.helper

Le credential.helper nous permet de stocker les informations d'identification pour toujours dans le fichier ~/.git-credentials

Il stockera nos informations d'identification lorsque nous les saisissons pour la première fois. De nouveau, lorsque nous essayons d'accéder au dépôt privé, il ne nous demandera pas d'informations d'identification jusqu'à ce qu'elles soient stockées dans le fichier ~/git-credentials. C'est donc l'une des façons d'éviter notre problème. Voyons cela en action avec des étapes précises

  • Tout d'abord, nous devons activer l'option pour stocker nos informations d'identification avec la commande git config credential.helper store.
  • Après avoir activé l'option, essayez d'accéder au dépôt privé avec votre nom d'utilisateur et votre mot de passe.
  • Une fois que vous avez saisi votre nom d'utilisateur et votre mot de passe, ils seront stockés dans le fichier ~/.git-credentials avec vos informations d'identification GitHub comme suit.
git-credentials
git-credentials

Maintenant, reprenez le même processus pour vérifier s'il fonctionne correctement ou non. Mise à jour, commit et push. Je suis sûr qu'il ne vous demandera pas les informations d'identification si vous avez suivi les étapes ci-dessus pour stocker vos informations d'identification

Tout va bien.

Que faire si vous voulez sauvegarder les informations d'identification pendant 4 heures au lieu de les conserver pour toujours ?

L'aide credential.helper fournit un moyen de stocker temporairement nos informations d'identification pendant un certain temps. Nous utilisons cache au lieu de store pour stocker les informations d'identification pendant un certain temps

Le cache stockera nos informations d'identification pendant 15 minutes par défaut. Après 15 minutes, le git demandera à nouveau des informations d'identification. Mais nous pouvons modifier la durée par défaut à l'aide de la commande suivante

git config credential.helper 'cache --timeout={time_in_seconds}'

N'oubliez pas d'indiquer le temps en secondes. Voyons cela en action

  • Tout d'abord, nous devons activer l'option de mise en cache de nos informations d'identification avec la commande git config credential.helper cache.
  • Accédez au dépôt privé avec votre nom d'utilisateur et votre mot de passe.
  • Une fois que vous avez saisi votre nom d'utilisateur et votre mot de passe, vos informations d'identification GitHub seront mises en cache pour une durée déterminée.

Maintenant, mettez à jour, livrez et poussez. Encore une fois, il ne vous demandera pas vos identifiants car nous lui avons dit de les mettre en cache

Nous vous avons montré les commandes pour travailler sur un dépôt initialisé par git. Nous pouvons mettre à jour la configuration de git globalement pour tous les projets en ajoutant le drapeau --global dans les commandes ci-dessus

Jetons d'accès personnels

Les jetons d'accès personnels sont utilisés pour donner accès à l'API de GitHub. Les jetons d'accès personnels sont comme des jetons OAuth . Ils peuvent donc être utilisés pour l'authentification de base au lieu d'un mot de passe pour git. Nous pouvons donc utiliser les jetons d'accès personnels pour résoudre notre problème

Voyons comment procéder

  • Connectez-vous à votre compte GitHub.
  • Allez dans les Paramètres.
Paramètres GitHub
Paramètres GitHub
  • Allez maintenant dans les paramètres de développement dans la barre de navigation de gauche.
Paramètres des développeurs GitHub
Paramètres des développeurs GitHub
Paramètres des développeurs GitHub
Paramètres des développeurs GitHub
  • Cliquez sur Jetons d'accès personnels pour atteindre notre destination finale. Vous verrez les jetons d'accès personnels comme suit.
Jetons d'accès personnels GitHub
Jetons d'accès personnels GitHub
  • Cliquez sur Générer un nouveau jeton pour en générer un nouveau.
Générer un nouveau jeton
Générer un nouveau jeton
  • Saisissez la noter pour le jeton. Vous pouvez considérer qu'il s'agit de courtes notes dont le jeton doit se souvenir.
Jeton d'accès personnel Note
Note du jeton d'accès personnel
  • Sélectionnez les autorisations pour le jeton. Les programmes utilisant le jeton donneront accès à toutes les permissions sélectionnées. Dans notre cas, sélectionnez le repo.
Permissions d'accès au référentiel
Permissions d'accès au référentiel
  • Descendez jusqu'en bas et cliquez sur le bouton Générer un jeton .
Bouton Générer un jeton
Bouton Générer un jeton
  • Le jeton d'accès personnel n'apparaîtra qu'une seule fois, comme suit. Nous ne pouvons plus voir notre jeton personnel. Copiez-le et sauvegardez-le dans un endroit sûr. Utilisez un gestionnaire de mots de passe si nécessaire.
Jeton d'accès personnel
Jeton d'accès personnel
  • Nous avons créé avec succès le jeton d'accès personnel.
  • Il est maintenant temps de l'utiliser pour accéder à notre dépôt privé.
  • Mettez à jour l'URL du dépôt dans le fichier .git/config comme https://{personal_access_token}@github.com/hafeezulkareem/private_repository.git comme dans la première méthode.
Jeton d'accès personnel dans la configuration
Jeton d'accès personnel dans la configuration

Maintenant, essayez d'accéder au dépôt privé

L'authentification vous a-t-elle été demandée ?

Non, il ne vous demandera pas l'authentification tant que le jeton n'est pas actif. Passons à la dernière façon de résoudre notre problème

SSH

SSH est utilisé pour s'authentifier. Vous trouverez le document complet sur SSH sur GitHub ici

L'idée est simple. Générez une clé SSH, ajoutez-la au compte GitHub et profitez de l'authentification sans mot de passe

Voyons ces trois étapes en détail

  • Ouvrez le terminal ou cmd dans votre système.
  • Entrez la commande ssh-keygen -t rsa pour générer une nouvelle clé SSH.
  • La commande vous demandera le répertoire dans lequel vous souhaitez enregistrer la clé. Appuyez sur Entrée pour sélectionner le répertoire par défaut. Mais vous pouvez également modifier le répertoire en fonction de vos préférences. Ici, nous utilisons le répertoire par défaut.
Répertoire SSH
Répertoire SSH
  • Maintenant, nous devons entrer la phrase de passe pour protéger notre clé SSH. Mais c'est facultatif
    • Si nous choisissons une phrase de passe pour la clé SSH, nous devons la saisir à chaque fois que nous allumons notre système.
    • Si nous n'avons pas choisi de phrase de passe, il n'est pas nécessaire de la saisir en premier.
Phrase de passe SSH
Phrase de passe SSH
  • Saisissez à nouveau la phrase de passe pour la confirmer.
Phrase de passe SSH
  • Enfin, une nouvelle clé SSH sera générée comme suit.
Clé SSH
Clé SSH

Nous avons réussi à générer une nouvelle clé SSH dans nos systèmes. Elle créera deux fichiers comme suit (si vous avez changé le chemin d'accès, les noms des fichiers peuvent varier)

Fichiers de clés SSH
Fichiers de clés SSH

Il est maintenant temps de se connecter à notre compte GitHub. Le contenu du fichier avec l'extension .pub faire être copié sur notre compte GitHub pour la connexion. Dans mon cas, il s'agit de id_rsa.pub

  • Connectez-vous à votre compte GitHub.
  • Ouvrez les paramètres.
Paramètres GitHub
Paramètres GitHub
  • Cliquez sur Clés SSH et GPG pour atteindre notre destination finale.
Clés SSH et GPG
Clés SSH et GPG
Clés SSH et GPG
Clés SSH et GPG
  • Cliquez sur Nouvelle clé SSH pour ajouter notre nouvelle clé SSH.
Nouvelle clé SSH
Nouvelle clé SSH
  • L'écran suivant s'affiche.
Nouvelle clé SSH
Nouvelle clé SSH
  • Ajoutez le titre approprié pour la clé SSH. Les clés SSH sont différentes pour chaque système. Choisir en fonction de cela est donc l'une des bonnes options. Mais ce n'est pas la seule option. Vous pouvez choisir d'autres éléments en fonction de vos préférences.
  • Après avoir choisi le titre, copiez et collez le contenu du fichier .pub dans le deuxième champ.
Nouvelle clé SSH
Nouvelle clé SSH
  • Enfin, cliquez sur Ajouter une clé SSH et confirmez l'accès avec votre mot de passe GitHub.
  • La nouvelle clé SSH ajoutée se présente comme suit.
Nouvelle clé SSH
Nouvelle clé SSH

Nous avons ajouté notre nouvelle clé SSH à GitHub. Maintenant, nous devons authentifier la connexion SSH pour profiter de l'authentification sans mot de passe plus tard. Pour ce faire, entrez la commande suivante dans le terminal ou cmd

ssh -T git@github.com
Connexion SSH
Connexion SSH

Une confirmation vous sera demandée. Confirmez-la. Et c'est tout, nous avons terminé

Maintenant, clonez votre dépôt privé. Aucune authentification ne sera demandée cette fois-ci

Mettez à jour, livrez et poussez. Et voilà. Il ne vous demandera plus d'authentification. Profitez-en

Conclusion

Nous avons couvert plusieurs méthodes pour accéder à des dépôts privés sans avoir à entrer des informations d'identification tout le temps. Vous pouvez utiliser n'importe quelle méthode. Mais la meilleure pratique est d'utiliser la méthode SSH pour l'authentification

Encore une fois, c'est votre préférence ; il n'y a pas de règle stricte pour utiliser la seule méthode SSH . Mais la plupart des entreprises utilisent la méthode SSH pour l'authentification, ce qui est sûr et fait gagner beaucoup de temps. Et assurez-vous que vos informations d'identification sont en sécurité

Bon développement 🙂 .

  • Hafeezul Kareem Shaik
    Auteur
Merci à nos sponsors
D'autres lectures intéressantes sur le développement
Alimentez votre entreprise
Quelques outils et services pour aider votre entreprise à se développer.
  • Invicti utilise le Proof-Based Scanning™ pour vérifier automatiquement les vulnérabilités identifiées et générer des résultats exploitables en quelques heures seulement.
    Essayez Invicti
  • Web scraping, proxy résidentiel, proxy manager, web unlocker, search engine crawler, et tout ce dont vous avez besoin pour collecter des données web.
    Essayez Brightdata
  • Monday.com est un système d'exploitation tout-en-un qui vous aide à gérer vos projets, vos tâches, votre travail, vos ventes, votre CRM, vos opérations, vos flux de travail et bien plus encore.
    Essayez le lundi
  • Intruder est un scanner de vulnérabilité en ligne qui détecte les faiblesses de votre infrastructure en matière de cybersécurité, afin d'éviter des violations de données coûteuses.
    Essayer l'intrus