NAME

gpgpwd - a command-line password manager based around GnuPG

SYNOPSIS

gpgpwd [OPTIONS] [COMMAND] [PARAMETERS]

DESCRIPTION

gpgpwd is a terminal-based password manager. It stores a list of passwords (and optionally the associated usernames) in a GnuPG encrypted file, and allows you to easily retrieve, change and add to that file as needed. It also generates random passwords that you can use, easily allowing you to have one "master password" (for your gpg key), with one unique and random password for each website or service you use, ensuring that your other accounts stay safe even if one password gets leaked.

gpgpwd can also utilize git(1) to allow you to easily synchronize your passwords between different machines.

OPTIONS

--help

Display the help screen

--version

Output the gpgpwd version and exit

-v, --verbose

Increase gpgpwd verbosity. May be supplied multiple times to further increase verbosity.

-p, --password-fileFILE

Set the password file to FILE instead of the default. This changes where gpgpwd reads and writes the password database.

You may supply several --password-file arguments, but only the last one will be used.

-s, --set<key>=<value>

Temporarily sets <key> to <value> for the duration of a single gpgpwd command. Using --set temporarily disables the config subcommand.

-C, --no-clipboard

Disables copying of passwords to the clipboard. Depending on the clipboardMode setting in the configuration file (which defaults to being enabled) gpgpwd will copy passwords to the clipboard for easy pasting into password fields. When this option is supplied it supresses this behaviour.

This is equivalent to providing --set clipboardMode=disabled.

--all

Return all posible results for a "get" request. This includes very fuzzy results. The default, which is to return only the best results, is usually preferable to --all.

--debuginfo

Display some information useful for debugging.

COMMANDS

getNAME

Get the password for NAME. NAME can be a perl-compatible regular expression. If no matches are found gpgpwd will attempt to perform a fuzzy search, to see if something similar can be found (ie. to correct for typos).

If you want to retrieve your entire database you may simply supply . as NAME, since it accepts a regular expression and . will match everything.

setNAME

Set (add or change) the password for NAME. You will be prompted interactively for the password, and will be given a random password that you may use if you wish.

removeNAME

Remove the password for NAME from the database.

renameOLDNAMENEWNAME

Rename the entry for OLDNAME to NEWNAME.

batchaddFILE

Read and add a list of passwords from FILE. The format is simple:

NAME PASSWORD

Everything up until the first bit of whitespace is taken to be the name, and everything from the first non-whitespace character after that and until the end of the line is taken to be the password. It will ignore empty lines and lines starting with #.

git

Provides certain git commands

git init

Initialize a gpgpwd git repository.

This can be used to keep a password database in sync between several different computers. This causes gpgpwd to git pull before it writes any change to the file, and git commit and git push after a change has been made. In read mode it will git pull after getting a password, if it detects that the password file has changed after pulling, gpgpwd will process your get request again, in case the password you wanted has changed.

Provides access to the git commands of the same name for the gpgpwd git repository. See the manpages for the commands themselves for more information. To pass command-line parameters to git you must first supply --, ie. `gpgpwd fetch -- -v`

upgrade

Upgrades a database file using the old format (v1, used by gpgpwd 0.3 and older) to the new format (v2, used by gpgpwd 0.4 and later).

config

Manages the gpgpwd configuration file. Without any parameters it will output the current configuration. You may also supply a single configuration key to get the value for that key, or a key=value pair to set key to value.

CONFIGURATION SETTINGS

dataPath

The path to the gpgpwd password database file. You can also override this with --password-file (ie. to temporarily operate on a different file).

git

Configures the git mode for gpgpwd.

Set to true to always enable.

Set to auto to enable if the password file is in a directory contianing a .git-directory. This is the default.

Set to false to always disable.

clipboardMode

By default gpgpwd will copy passwords to the clipboard (the one that pastes through the usual ctrl+v or "right click -> paste" means). With this you can change it. It accepts the following parameters:

clipboard

The default, copies to the 'normal' clipboard. Paste with ie. ctrl+v.

selection

Copy to the 'selection' clipboard. Paste with ie. middle-click.

both

Copy to both the 'normal' and 'selection' clipboards.

disabled

Don't automatically copy passwords to the clipboard.

defaultPasswordLength

Sets the length of the default password generated by gpgpwd An integer between 10-250. The special value 0 uses the gpg default (which is currently 15, but may be increased later)

You can override this temporarily with the /regenerate command on the password prompt.

storeUsernames

Enables or disables storing usernames. If this is set to "false" then gpgpwd will not prompt for usernames, nor display usernames when an entry is retrieved. If it is set to "true" then gpgpwd will both store and display usernames for entries in the password database.

The default is true.

EXAMPLES

gpgpwd set test

Add a password for 'test' to the database, gpgpwd will prompt you for the password.

gpgpwd get test

Retrieve the password we just added.

gpgpwd remove test

Remove test from the adatabase

gpgpwd -g set testpwd

Add the password for testpwd to the database and commit+push the file using git afterwards.

BUGS AND LIMITATIONS

AUTHOR

gpgpwd is written by Eskild Hustvedt <code aatt zerodogg d0t org>

FILES

XDG_CONFIG_HOME/gpgpwd

The gpgpwd configuration and database directory. XDG_CONFIG_HOME is an environment variable specified by the XDG Base Directory Specification. The default value for XDG_CONFIG_HOME (and the value on most systems) is ~/.config, so on most systems this will be ~/.config/gpgpwd.

XDG_CONFIG_HOME/gpgpwd/gpgpwd.db

The default save location for the password database, overrideable by using --password-file and the dataPath configuration option.

XDG_CONFIG_HOME/gpgpwd/gpgpwd.conf

The gpgpwd configraution file. Can also be managed using the 'gpgpwd config' command.

LICENSE AND COPYRIGHT

Copyright (C) Eskild Hustvedt 2012, 2013, 2014

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.