Index
- NAME
- SYNOPSIS
- DESCRIPTION
- OPTIONS
- COMMANDS
- CONFIGURATION SETTINGS
- EXAMPLES
- HELP/SUPPORT
- BUGS AND LIMITATIONS
- AUTHOR
- FILES
- LICENSE AND COPYRIGHT
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-file FILE
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
- get NAME
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.
- set NAME
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.
- remove NAME
Remove the password for NAME from the database.
- rename OLDNAME NEWNAME
Rename the entry for OLDNAME to NEWNAME.
- alias TO NAME
This creates an alias (think symlink) to TO named NAME. That means that you can enter 'get NAME' and gpgpwd will respond with the entry for TO instead.
- batchadd FILE
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.
- git clone git://compatible/url
Clone an existing gpgpwd git repository from the git URL supplied (supports all git URLs that your native git supports).
- git initremote remote?
Initializes a fresh remote. Will push our git repository to the remote and set our master branch to track it.
- git pull, git fetch, git remote, git branch
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.
- config remove entry
Unsets a configuration value (which resets it to the default 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.
- gpgpwd rename testpwd test-password
Rename 'testpwd' to 'test-password'.
HELP/SUPPORT
If you need additional help, please visit the website at http://random.zerodogg.org/gpgpwd
BUGS AND LIMITATIONS
If you find a bug, please report it at http://random.zerodogg.org/gpgpwd/bugs
Include the output of 'gpgpwd --debuginfo' in any bug report.
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, 2015
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.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.