Skip to main content

Pass

·1 min

pass is a handy program to manage passwords locally to a specific environment, it basically manage a local directory of text files encrypted with gpg

In order to initialize pass a gpg key is needed

gpg --full-gen-key

Then pass can be initialized with the id of the key generated

  pass init "[gpg_id]"

Key can be added like this

pass edit [path/to/file]

The command creates a subdirectory under the .password_store folder and opens vim to edit the password content, to generate a random password using /dev/random:

pass generate -c path/to/data num

Folder structure can be showed with the pass list command

Git configuration #

pass can be configured to store history of the folder with git so to maintain the password history

 pass git init

Pushing to remote git repository #

The git repository can be synced with a remote server as shown with github here as an example

cd ~/.password-store
gh repo create --source=. --private [repo-name]
git push --set-upstream origin main

Backup gpg key #

To backup keys in a text based format run

gpg --output backupkeys.pgp --armor --export-secret-keys --export-options export-backup [gpg_id]