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 git
fournissaient 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 git
stockent 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 git
pour le dépôt http (s) et comment les faire fonctionner sur Ubuntu?
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:
Vous pouvez installer libsecret
et les bibliothèques de développement avec:
Sudo apt-get install libsecret-1-0 libsecret-1-dev
Ensuite, vous devez créer le gestionnaire des informations d'identification
cd /usr/share/doc/git/contrib/credential/libsecret
Sudo make
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
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
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 .