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

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

- Maintenant, nous devons entrer le mot de passe. Saisissez votre mot de passe GitHub et appuyez sur
Entrée
.

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


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

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

- Mettez à jour l'URL en ajoutant votre nom d'utilisateur et votre mot de passe, comme indiqué ci-dessus.

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.

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.

- Allez maintenant dans les paramètres de développement dans la barre de navigation de gauche.


- Cliquez sur Jetons d'accès personnels pour atteindre notre destination finale. Vous verrez les jetons d'accès personnels comme suit.

- Cliquez sur Générer un nouveau jeton pour en générer un nouveau.

- Saisissez la noter pour le jeton. Vous pouvez considérer qu'il s'agit de courtes notes dont le jeton doit se souvenir.

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

- Descendez jusqu'en bas et cliquez sur le 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.

- 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
commehttps://{personal_access_token}@github.com/hafeezulkareem/private_repository.git
comme dans la première méthode.

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.

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

- Saisissez à nouveau la phrase de passe pour la confirmer.

- Enfin, une nouvelle clé SSH sera générée comme suit.

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)

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.

- Cliquez sur Clés SSH et GPG pour atteindre notre destination finale.


- Cliquez sur Nouvelle clé SSH pour ajouter notre nouvelle clé SSH.

- L'écran suivant s'affiche.

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

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

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

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