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 ?
Réponses
Trop de publicités?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 !
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/
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'