Comment réparer GIT en demandant toujours des informations d'identification de l'utilisateur pour l'authentification HTTP (s)

Comment réparer GIT en demandant toujours des informations d'identification de l'utilisateur pour l'authentification HTTP (s)

Pour accéder ou travailler avec un référentiel git distant, vous pouvez soit utiliser Ssh ou Http (s) protocoles; Avec le premier, en ce qui concerne les référentiels privés, vous pouvez simplement configurer les clés SSH sans phrase de passe qui vous permet de transférer des données en toute sécurité sans taper votre nom d'utilisateur et votre mot de passe.

Cependant, avec Http (s), Chaque connexion vous invite à saisir votre nom d'utilisateur et votre mot de passe (lorsque Git a besoin d'authentification pour un contexte URL particulier) - Les utilisateurs de GitHub le savent bien.

Dans cet article, nous vous montrerons comment réparer Git en demandant toujours des informations d'identification de l'utilisateur Http (s). Nous expliquerons différentes façons d'empêcher Git de provoquer à plusieurs reprises le nom d'utilisateur et le mot de passe lors de l'interaction avec un référentiel distant sur Http (s).

Comment installer Git dans Linux

Si vous n'avez pas le Git Package installé sur votre système, exécutez la commande appropriée pour votre distribution Linux pour l'installer (utilisez le Sudo commande si nécessaire).

$ sudo apt install git [sur debian / ubuntu] # yum install git [sur centos / rhel / fedora] $ sudo zypper install git [on opensuse] $ sudo pacman -s git [sur arch linux] 

Entrer le nom d'utilisateur GIT et le mot de passe dans URL distante

Comme nous l'avions mentionné plus tôt, lors du clonage d'une télécommande Git référentiel sur Http (s), Chaque connexion a besoin d'un nom d'utilisateur et mot de passe comme montré.

Clone Remote Git Repository

Pour prévenir Git de demander votre nom d'utilisateur et mot de passe, Vous pouvez saisir les informations d'identification de connexion dans l'URL comme indiqué.

$ sudo git clone https: // nom d'utilisateur: [e-mail protégé] / nom d'utilisateur / repo_name.git ou $ sudo git clone https: // nom d'utilisateur: [e-mail protégé] / nom d'utilisateur / repo_name.git local_folder 
Ajouter des informations d'identification GIT dans l'URL

L'inconvénient principal de cette méthode que votre nom d'utilisateur et mot de passe sera enregistré dans la commande dans le fichier d'historique des shell.

Voir l'histoire de la coquille

ainsi que dans le .git / config déposer sous le dossier local, qui possède un risque de sécurité.

$ chat .git / config 
Afficher les informations d'identification GIT dans le fichier de configuration

Note: Pour les utilisateurs de GitHub qui ont activé l'authentification à deux facteurs, ou accèdent à une organisation qui utilise Saml connexion unique, vous devez générer et utiliser un jeton d'accès personnel au lieu de saisir votre mot de passe pour Https git (comme indiqué dans l'échantillon de sorties de ce guide). Pour générer un jeton d'accès personnel, dans Github, aller à Paramètres => Paramètres du développeur => Personnel Tokens d'accès.

Enregistrer le nom d'utilisateur et le mot de passe du référentiel git distant sur le disque

La deuxième méthode consiste à utiliser l'assistance d'identification GIT pour enregistrer votre nom d'utilisateur et votre mot de passe dans un fichier simple sur le disque comme indiqué.

$ Git Config Contaling.Helper Store ou $ git config - Global Credential.magasin d'aide 

Désormais, Git rédigera des informations d'identification au ~ /.crédibilité des git fichier pour chaque contexte d'URL, lorsqu'il est accessible pour la première fois. Pour afficher le contenu de ce fichier, vous pouvez utiliser la commande CAT comme indiqué.

$ cat ~ /.crédibilité des git 
Voir les informations d'identification GIT enregistrées sur le disque

Pour les commandes suivantes pour le même contexte d'URL, GIT lira vos informations d'identification utilisateur à partir du fichier ci-dessus.

Tout comme la méthode précédente, cette façon de passer des informations d'identification utilisateur Git n'est également pas sécurisé car le fichier de stockage n'est pas crypté et n'est protégé que par les autorisations standard du système de fichiers.

La troisième méthode expliquée ci-dessous est considérée comme plus sécurisée.

Nom d'utilisateur et mot de passe du référentiel git distant de mise en cache en mémoire

Enfin et surtout, vous pouvez également utiliser le Git Assistance des informations d'identification pour enregistrer temporairement vos informations d'identification en mémoire pendant un certain temps. Pour ce faire, émettez la commande suivante.

$ Git Config Contaling.Helper Cache ou $ git config - Global Contality.cache d'assistance 

Après avoir exécuté la commande ci-dessus, lorsque vous essayez d'accéder à un référentiel privé distant pour la première fois, Git demandera votre nom d'utilisateur et votre mot de passe et l'enregistrera en mémoire pendant un certain temps.

Cache Git Credentials en mémoire

Le temps de mise en cache par défaut est 900 secondes (ou 15 minutes), après quoi Git vous invite à saisir à nouveau votre nom d'utilisateur et votre mot de passe. Vous pouvez le changer comme suit (1800 secondes = 30 minutes ou 3600 secondes = 1 heure).

$ git Config - Contalitude Global.Helper 'cache - timeout = 18000' ou $ git config --global.helper 'cache - timeout = 36000' 

Pour plus d'informations sur Git et les aides aux informations d'identification, voir leurs pages d'homme.

$ man git $ man git-crédentiel-cache $ man git-crédentiel-magasin 

Ce guide était-il utile? Faites-nous savoir via le formulaire de rétroaction ci-dessous. Vous pouvez également partager toutes les questions ou réflexions sur ce sujet.