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é 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 qu’il n’est pas efficace d’utiliser la méthode HTTPS pour cloner les dépôts privés.

L’accès comprend 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é.
GitHub Private Repository
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 lien 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.
Authentication Username
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.
Authentication Password
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, livrez-le et poussez-le vers le serveur distant.

Qu’avez-vous remarqué ?

Il demande à nouveau l’authentification.

Push Authentication
Push Authentication
Push Authentication
Push Authentication

N’est-ce pas une tâche ennuyeuse et lourde 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 plusieurs 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 y a un fichier de configuration dans ce répertoire 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.

git clone<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 dépôt 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é.
.git Folder
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.
Repository Link in config
Lien de dépôt dans config
  • Mettez à jour l’URL en ajoutant votre nom d’utilisateur et votre mot de passe, comme indiqué ci-dessus.
Repository URL Update
Mise à jour de l’URL du dépôt

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é. En effet, 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 des inconvénients majeurs à utiliser cette méthode. Ignorons-la donc et passons à la méthode suivante.

credential.helper

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

Il stocke 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 d’informations d’identification si vous avez suivi les étapes ci-dessus pour enregistrer vos informations d’identification.

Tout se passe 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 permet 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, 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 informations d’identification car nous lui avons demandé 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.
GitHub Settings
Paramètres GitHub
  • Allez maintenant dans les paramètres de développement dans la barre de navigation de gauche.
GitHub Developer Settings
Paramètres de développement GitHub
GitHub Developer Settings
Paramètres de développement GitHub
  • Cliquez sur Personal access tokens pour atteindre notre destination finale. Vous verrez les jetons d’accès personnels comme suit.
GitHub Personal Access Tokens
GitHub Personal Access Tokens
  • Cliquez sur Generate new token pour en générer un nouveau.
Generate new token
Générer un nouveau jeton
  • Saisissez la note pour le jeton. Vous pouvez considérer qu’il s’agit de courtes notes dont le jeton doit se souvenir.
Personal access token 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.
Repository Permissions
Repository Permissions
  • Descendez jusqu’en bas et cliquez sur le bouton Generate token .
Generate token Button
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.
Personal access token
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.
Personal access token in config
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.
SSH Directory
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.
SSH Passphrase
Phrase de passe SSH
  • Saisissez à nouveau la phrase de passe pour la confirmer.
SSH Passphrase
  • Enfin, une nouvelle clé SSH sera générée comme suit.
SSH Key
SSH Key

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).

SSH Key Files
Fichiers de clé SSH

Il est maintenant temps de se connecter à notre compte GitHub. Le contenu du fichier avec l’extension .pub doit ê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.
GitHub Settings
GitHub Settings
  • Cliquez sur SSH et GPG Keys pour atteindre notre destination finale.
SSH and GPG Keys
Clés SSH et GPG
SSH and GPG Keys
Clés SSH et GPG
  • Cliquez sur New SSH Key pour ajouter notre nouvelle clé SSH.
New SSH key
Nouvelle clé SSH
  • L’écran suivant s’affiche.
New SSH Key
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.
New SSH key
Nouvelle clé SSH
  • Enfin, cliquez sur Add SSH key et confirmez l’accès avec votre mot de passe GitHub.
  • La nouvelle clé SSH ajoutée se présente comme suit.
New SSH key
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
SSH Connection
Connexion SSH

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

Maintenant, clonez votre dépôt privé. Il ne vous demandera pas d’authentification 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 consiste à 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 🙂