66 votes

Quelle est la bonne façon d'utiliser git avec gnome-keyring et les dépôts http(s) ?

Actuellement, chaque fois que je git pull ou git push vers un dépôt http(s), j'obtiens ce qui suit :

$ git pull
Username for 'https://gitrepos.reposdomain.com': me@mydomain.com
Password for 'https://me@mydomain.com@gitrepos.reposdomain.com': 

C'est acceptable pour un usage peu fréquent, mais cela devient très vite gênant. Malheureusement, le passage à ssh n'est pas une option dans ce cas.

J'ai lu que les versions précédentes de git a fourni un justificatif d'identité "store" et "cache", mais que cela n'était pas conseillé car il stockait le mot de passe en clair.

MAIS

Les versions plus récentes de git stocker apparemment les informations d'identification git dans le fichier gnome-keyring mais il faut le configurer correctement.

J'ai essayé de suivre d'autres réponses (non-Ubuntu) sur SO pour que cela fonctionne (à savoir celui-ci ), mais je suis toujours présenté avec le nom d'utilisateur et le mot de passe.

Quelle est la manière correcte et la plus sûre de stocker git informations d'identification pour les dépôts http(s) et comment les faire fonctionner sur Ubuntu ?

104voto

eddygeek Points 1190

gnome-credential-helper est maintenant déprécié.

Au lieu de cela, utilisez libsecret . S'il n'est pas déjà préinstallé sur votre machine, utilisez la procédure suivante :

  1. Assurez-vous que libsecret et ses bibliothèques de développement sont installées :

    sudo apt install libsecret-1-0 libsecret-1-dev
  2. Construisez ensuite l'assistant d'identification à partir des sources fournies avec les bibliothèques de développement de libsecret :

    sudo make --directory=/usr/share/doc/git/contrib/credential/libsecret
  3. Enfin, enregistrer le binaire fraîchement compilé en tant que Aide à l'accréditation Git :

    git config --global credential.helper \
       /usr/share/doc/git/contrib/credential/libsecret/git-credential-libsecret

Plus de détails sur https://stackoverflow.com/a/40312117/2017781

46voto

Vous devez configurer le git credential helper avec porte-clés Gnome :

Installez et compilez le Gnome Keyring devel :

sudo apt-get install libgnome-keyring-dev
sudo make --directory=/usr/share/doc/git/contrib/credential/gnome-keyring

Et configurer l'accréditation :

git config --global credential.helper /usr/share/doc/git/contrib/credential/gnome-keyring/git-credential-gnome-keyring

4voto

Stephan Henningsen Points 4261

Cette approche simple semble être suffisante sur mon Ubuntu 18.04.1 avec git 2.17.1 :

git config --global credential.helper cache

Vous pouvez spécifier un délai d'une heure (=3600 secondes) comme ceci :

git config --global credential.helper 'cache --timeout=3600'

Pour en savoir plus le beau manuel .

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