Pass

From wikinotes

Flexible file-based Password manager built on top of GPG (and optionally git).

Documentation

man page https://git.zx2c4.com/password-store/about/
homepage https://www.passwordstore.org/

Locations

~/.password-store/ passwords stored here
~/.password-store/**/.gpg-id identifies gpg used to manage passwords here
~/.password-store/**/*.gpg an encrypted password

Install

pkg install password-store  # freebsd
pacman -S pass              # archlinux

Usage

Overview

Using pass requires some understanding of it's design.
Passwords get encrypted/stored within subdirectories of ~/.password-store.
These subdirectories can be assigned a gpg key to manage the encrypting/decrypting their contents.
Additionally, the entire password store can be converted to a git repo.

Setup

# add '--armor' to use ASCII characters
export PASSWORD_STORE_GPG_OPTS="--armor"

# create git repo at ~/.password-store (optional)
pass git init
pass git remote add origin gitrepo:/repos/root/pass

# create .password-store/personal,
# keys in this dir will be encrypted/decrypted using gpg key "name-of-gpgkey"
pass init -p personal "name-of-gpgkey"

Get/Set Passwords

# save passwords (.password-store/personal/pers.gpg)
# encrypted using configured
pass insert   personal/webdav/pers  # set
pass generate personal/webdav/pers   # generate

# view passwords
pass personal/webdav/pers

Pull/Push Changes

pass git push
pass git pull