This repository is an encrypted remote backup for my pass password store.
All entries are encrypted with GPG before ever touching this repo β nothing here is readable without the corresponding private key.
.
βββ .gpg-id # GPG key ID(s) used to encrypt entries
βββ */ # Password entries, organized by category
βββ .git/ # Git history (acts as password store's built-in versioning)
Each .gpg file is a single encrypted secret. File and folder names are visible in plaintext (that's how pass works) β only the contents are encrypted.
passβ the standard Unix password manager- GNU GPG β for encryption/decryption
gitβ for syncing- Your private GPG key (kept outside this repo, obviously)
# 1. Import your GPG private key first
gpg --import your-private-key.asc
# 2. Clone this repo into pass's default location
git clone <this-repo-url> ~/.password-store
# 3. Verify pass can read it
pass lspass show <entry> # decrypt & show a password
pass insert <category>/<name> # add a new password
pass edit <entry> # edit an existing entry
pass generate <entry> 20 # generate a new random passwordpass auto-commits changes locally. To sync with this remote:
pass git push # push local changes to this backup repo
pass git pull # pull latest backup down- Never commit your private GPG key to this repo.
- This backup is only as safe as your GPG private key β protect it (hardware key / strong passphrase / offline backup).
- Consider a private repo host, not a public one, even though contents are encrypted (entry names leak metadata).
- pass β the standard Unix password manager
- pass source (git.zx2c4.com)
- GNU Privacy Guard (GPG)
- git-scm.com documentation
- pass extensions & ecosystem
This README documents the backup repo only β see the pass docs above for full command usage.