Utiliser Git comme outil de contrôle de version rend notre travail de développement plus efficace. Mais lorsque nous utilisons habituellement Git, nous saisissons souvent notre nom d'utilisateur et notre mot de passe pour nous connecter et effectuer des opérations push et pull, ce qui constitue un gros problème pour notre efficacité. Par conséquent, comment réaliser des opérations Git plus fluides sans saisir de mot de passe est devenu l'un des problèmes que les utilisateurs de Git doivent résoudre. Voyons ensuite comment empêcher Git de saisir un mot de passe.
Tout d'abord, nous devons comprendre ce qu'est une clé SSH. SSH (Secure Shell) est un protocole réseau qui peut transmettre en toute sécurité des données dans un réseau non sécurisé via un canal de données crypté. La clé SSH est la méthode de connexion utilisée par le protocole SSH. Elle peut être utilisée pour remplacer la méthode traditionnelle de connexion par nom d'utilisateur et mot de passe, afin que nous n'ayons plus besoin de mémoriser les mots de passe.
Pour utiliser les clés SSH, il faut d'abord générer une paire de clés, à savoir une clé publique et une clé privée. La méthode pour générer une clé est la suivante :
$ ssh-keygen -t rsa -C "your_email@example.com"
Parmi eux, "votre_email@exemple.com" est votre adresse email, qui peut être modifiée en fonction de votre situation réelle. Après avoir exécuté cette commande, vous serez invité à sélectionner l'emplacement où enregistrer la clé. La valeur par défaut est de l'enregistrer dans le répertoire ~/.ssh. Vous pouvez appuyer sur Entrée pour sélectionner l'emplacement par défaut ou saisir un nouveau chemin.
Ensuite, la ligne de commande vous demandera de saisir un mot de passe sécurisé (phrase secrète). Ce mot de passe sert uniquement de clé de protection par mot de passe et n'a pas besoin d'être saisi lors de l'exécution d'opérations Git. Si vous ne souhaitez pas saisir le mot de passe, vous pouvez simplement appuyer sur Entrée pour ignorer cette étape.
Deux fichiers sont générés dans le répertoire ~/.ssh : id_rsa et id_rsa.pub, où id_rsa est la clé privée et id_rsa.pub est la clé publique. Nous devons ajouter la clé publique au serveur Git afin que le serveur Git puisse vous identifier.
Sur les services Internet grand public tels que Github et GitLab, vous pouvez accéder à la page « Clés SSH et GPG » de votre compte personnel et ajouter votre clé publique. Une fois ajouté, vous n'avez plus besoin de saisir de mot de passe et pouvez directement utiliser le protocole SSH pour effectuer des opérations Git.
Si vous ne souhaitez pas utiliser de clés SSH, il existe un autre moyen d'empêcher Git de saisir des mots de passe, à savoir mettre en cache les mots de passe des comptes. Pour y parvenir, nous pouvons utiliser certaines commandes fournies par Git. Par exemple, lorsque vous utilisez l'opération push de Git pour ajouter l'option --credential, la commande doit être la suivante :
$ git push --credential-store=cache
Après avoir exécuté cette commande, Git se souviendra de votre nom de compte et de votre mot de passe dans le cache. La prochaine fois que vous effectuerez une opération Git, Git obtiendra automatiquement votre nom de compte et votre mot de passe, vous n'aurez donc plus besoin de les saisir manuellement.
Cependant, cette approche pose un problème. Les mots de passe stockés dans le cache sont en texte clair, ce qui facilite le vol de vos mots de passe en cas de piratage de votre ordinateur. Cette méthode n’est donc pas recommandée pour une utilisation à long terme. Si vous décidez d'arrêter d'utiliser cette méthode, vous pouvez exécuter la commande suivante :
$ git config --global credential.helper 'cache --timeout=3600'
Le but de cette commande est de spécifier que la durée du cache est d'une heure. Après une heure, Git effacera automatiquement le mot de passe dans le cache.
Résumé
En utilisant les clés SSH et les mots de passe des comptes mis en cache, nous pouvons réaliser des opérations Git sans saisir manuellement les mots de passe. Parmi les deux méthodes, les clés SSH sont plus sécurisées et peuvent protéger les informations de votre compte contre le vol. Bien que la mise en cache des mots de passe des comptes soit pratique, elle comporte certains risques de sécurité. Par conséquent, avant d'utiliser les mots de passe des comptes mis en cache, vous devez soigneusement évaluer votre situation réelle pour garantir la sécurité des informations.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!