Pass

pass is a simple password manager for the command line. Passwords are stored inside gpg encrypted files in a simple directory tree structure. pass is a shell script that makes use of existing tools like gnupg, pwgen, tree and git.

Installation

Install the pass package.

Basic usage

Note: To be able to use pass, set up GnuPG.

To initialize the password store:

$ pass init <gpg-id or email>

To create a new password, first provide a descriptive hierarchical name. In this example, this is archlinux.org/wiki/username.

$ pass insert archlinux.org/wiki/username

To get a view of the password store do the following. Not the example output which shows the hiearchy we just created.

$ pass
Password Store
└── archlinux.org
    └── wiki
        └── username

To generate a new random password for the above example, do the following, where n is the desired password length as a number:

$ pass generate archlinux.org/wiki/username n

To retreive a password, enter the gpg passphrase at the following prompt, again using the same hierarchical example name from above:

$ pass archlinux.org/wiki/username

Users of Xorg with xclip installed can retrieve the password directly onto the clipboard temporarily (*e.g.,* to paste into web forms). To do so, do the following (again with the same example hierarchical name from above):

$ pass -c archlinux.org/wiki/username
Note: Users preferring the classical middle-click/paste can add the following to their respective ~/.shellrc for this behavior: export PASSWORD_STORE_X_SELECTION=primary

Migrating to pass

There are multiple scripts listed on the pass-project page to import passwords from other programs

GUI

There is now a stable release of qtpass available on the AUR.

See also