web-dev-qa-db-fra.com

Quelle est la bonne façon d'utiliser git avec gnome-keyring et http (s) repo?

Actuellement, chaque fois que je git pull ou git Push dans un référentiel http (s), je reçois ce qui suit:

$ git pull
Username for 'https://gitrepos.reposdomain.com': [email protected]
Password for 'https://[email protected]@gitrepos.reposdomain.com': 

Ceci est acceptable pour une utilisation peu fréquente, mais commence à devenir très ennuyant très rapidement. Malheureusement, le passage à ssh n'est pas une option dans ce cas.

J'ai lu que les versions précédentes de gitfournissaient les informations d'identification "store" et "cache", mais que cela n'était pas conseillé, car le mot de passe était stocké en texte brut.

MAIS

Les versions plus récentes de gitstockent apparemment les informations d'identification git dans le gnome-keyring, mais elles doivent être configurées correctement.

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

Quel est le moyen le plus sûr et le plus sûr de stocker les informations d'identification gitpour le dépôt http (s) et comment les faire fonctionner sur Ubuntu?

42
tudor

gnome-credential-helper est maintenant obsolète.

Au lieu de cela, utilisez libsecret. Si ce n'est pas déjà fait, utilisez la procédure suivante:

  1. Vous pouvez installer libsecret et les bibliothèques de développement avec:

    Sudo apt-get install libsecret-1-0 libsecret-1-dev

  2. Ensuite, vous devez créer le gestionnaire des informations d'identification

    cd /usr/share/doc/git/contrib/credential/libsecret

    Sudo make

  3. Enfin, vous devriez pointer git sur le fichier nouvellement créé dans votre configuration:

    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

43
eddygeek

Vous devez configurer le git credential helper avec Gnome Keyring:

Installez et compilez le développement de Gnome Keyring:

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

Et configurez les informations d'identification:

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

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'expiration d'une heure (= 3600 secondes) comme suit:

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

Lectures complémentaires dans le manuel fin .

2
Stephan Henningsen