Store git credentials permanently and encrypted using a keystore in Ubuntu [duplicate]
gnome-credential-helper
is now deprecated.
Instead, use libsecret. If it's not already pre-installed on your machine, use the following procedure:
-
Make sure
libsecret
and its development libraries are installed:sudo apt install libsecret-1-0 libsecret-1-dev
-
Then build the credential helper from the sources shipped with libsecret's development libraries:
sudo make --directory=/usr/share/doc/git/contrib/credential/libsecret
-
Finally, register the freshly compiled binary as a Git credential helper:
git config --global credential.helper \ /usr/share/doc/git/contrib/credential/libsecret/git-credential-libsecret
More details on https://stackoverflow.com/a/40312117/2017781
You need to setup the git credential helper
with Gnome Keyring:
Install and compile the Gnome Keyring devel:
sudo apt-get install libgnome-keyring-dev
sudo make --directory=/usr/share/doc/git/contrib/credential/gnome-keyring
And setup the credential:
git config --global credential.helper /usr/share/doc/git/contrib/credential/gnome-keyring/git-credential-gnome-keyring
This simple approach appears to be sufficient on my Ubuntu 18.04.1 with git 2.17.1:
git config --global credential.helper cache
You can specify a one hour (=3600 seconds) timeout like this:
git config --global credential.helper 'cache --timeout=3600'
Further reading in the fine manual.