Git credentials management made easy.
Use pip
or pip3
to install git-credential-netconf
pip install git-credential-netconf
or
pip3 install git-credential-netconf
Credential management in Git should not be difficult to use or configure, but (unfortunately) looking at the existing tools, it is difficult to even think about it, let alone configure them without errors.
NOT. ANY. MORE!
Presenting git-credential-netconf
, an easy yet powerful way to manage your
Git credentials by harnessing the power of GnuPG!
The following guide assumes you have a GPG key and you have installed git-credential-netconf
.
-
Create a
.netconf
file in your home directory.touch ~/.netconf
-
Start by filling in your username and password:
[conf] login = yourname password = very-secret-password
The
.netconf
file uses configuration file format. -
Encrypt your
.netconf
file withgpg
gpg --recipient yourname@example.com --output ~/.netconf.gpg --encrypt \ --sign ~/.netconf
-
And remove your original
.netconf
for security:shred -u ~/.netconf
-
-
Tell Git to use it
⚠️ Make sure that~/.local/bin
is in$PATH
git config --global credential.helper 'netconf --debug'
-
Now use git without hassle!
git push
This will prompt
git-credential-netconf
to decrypt the~/.netconf
file usingGPG
and fetch theusername
andpassword
, among other values.You'll be asked for the password to
GPG
private key when decrypting.
usage: git-credential-netconf [-h] [-g GPG] [-d] [-f FILE] [-q]
{get,store,erase} ...
Easy credential management using GPG.
positional arguments:
{get,store,erase} The credential operation to use.
optional arguments:
-h, --help show this help message and exit
-g GPG, --gpg GPG The `gpg` program to use.
-d, --debug Show output of `gpg` (it prints into `stderr`).
-f FILE, --file FILE The `.netconf.gpg` file to use.
-q, --quit-on-failure
Do not let Git consult any more helpers if an error is
encountered while decryption.
git-credential-netconf is licensed under MIT license. Visit
<https://github.com/arunanshub/git-credential-netconf> for more info.
.netconf
can be used as a direct replacement for .netrc
file, with the
advantage of being more convenient to use.
You can use any name for the section name, but using conf
is the convention.
This table shows the equivalent values for .netconf
, .netrc
and
git-credential
keys:
.netconf |
.netrc like |
git-credential |
---|---|---|
login , user , username |
login |
username |
machine , host |
machine |
host |
path |
path |
|
password |
password |
password |
port 1, protocol |
protocol |
1: If port
is an integer, it is used as a host:port
format.
- All other tools are very hard to configure properly.
- Using
Perl
is as clear as mud. - Python is easy to use, maintain and is very portable.