50 votes

Comment désactiver les invites de mot de passe lors d'un git push/pull ?

Chaque fois que je veux push et/ou pull à partir du terminal (sous Linux), je dois entrer un mot de passe. Comment puis-je supprimer ce mot de passe pour que le système tire et/ou pousse sans mot de passe ?

35voto

thunderbird Points 451

Exécuter

git config credential.helper store 

Cela stockera vos informations d'identification dans un dossier à l'intérieur de la racine. Vous devez exécuter git pull / git push après cette commande et donnez le nom d'utilisateur et le mot de passe pour la première fois. Par la suite, le nom d'utilisateur et le mot de passe ne seront plus demandés. Détails à https://git-scm.com/docs/git-credential-store

En tant que 0xc0de a écrit dans un commentaire, le mot de passe sera stocké en clair !

27voto

Jin Points 4253

Générer une paire de clés privée/publique pour l'authentification sans mot de passe.

Pour Linux, vos clés sont stockées dans ~/.ssh .

Si vous avez déjà des fichiers dans ~/.ssh qui s'appelle id_rsa y id_rsa.pub vous disposez déjà d'une paire de clés. Ajoutez le contenu de votre clé publique (c'est id_rsa.pub ) dans le fichier ~/.ssh/authorized_keys du dépôt Git.

$ scp ~/.ssh/id_rsa.pub user@git.repo:id_rsa.tmp
$ ssh user@git.repo
$ cat id_rsa.tmp >> .ssh/authorized_keys

Si vous n'avez pas la paire de clés, générez-en une avec

$ ssh-keygen -t rsa

Lisez ceci pour plus d'informations : http://inchoo.net/tools-frameworks/how-to-generate-ssh-keys-for-git-authorization/

1voto

Michael Points 9

J'ai créé une nouvelle branche et après cela, lorsque je tire, je dois entrer le nom d'utilisateur et le mot de passe. J'ai ensuite résolu le problème en re-clonant la branche avec l'adresse ssh (qui se trouve sur le site du dépôt concerné).

Par exemple :

git clone git@github.com:sshare/GLE.git

1voto

cia-from-earth Points 11

La durée de mise en cache par défaut est de 900 secondes (ou 15 minutes), après quoi Git vous demandera d'entrer à nouveau votre nom d'utilisateur et votre mot de passe. Vous pouvez la modifier comme suit (1800 secondes = 30 minutes ou 3600 secondes = 1 heure). ($ représente l'invite Shell en tant qu'utilisateur normal non élevé)

$ git config --global credential.helper 'cache --timeout=18000'

OU

$ git config --global credential.helper 'cache --timeout=36000'

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X