pass
- arch wiki - pass
- install pass
pacman -S pass
passmenu
securing
- set
PASSWORD_STORE_SIGNING_KEY
set -gx PASSWORD_STORE_SIGNING_KEY "EA6E27948C7DBF5D0DF085A10FBC2E3BA99DD60E"
-
this requires a signature on
.gpg-id
and non-system extensions -
if, for example, using remote git to track and pull update to
.gpg-id
or malicious extension, won't be used because signature breaks - generate signature
gpg --detach-sign .gpg-id
- do the same for any non-system extensions (not recommended)
- enable non-system extensions (if extension isn't packaged, e.g.)
set -gx PASSWORD_STORE_ENABLE_EXTENSIONS "true"
pass-otp
- see pass-otp
browserpass
- see browserpass
git-credential-manager
detailed notes
pass is a simple GPG-based command-line password manger. To install, run
pacman -S pass
Note that the archlinux package comes with dmenu integration, with the binary
passmenu
Setting a signing key
In order to set a signing key, use the environmental variable
PASSWORD_STORE_SIGNING_KEY
set -gx PASSWORD_STORE_SIGNING_KEY "EA6E27948C7DBF5D0DF085A10FBC2E3BA99DD60E"
Setting this is in order to require a signature on
.gpg-id
and non-system extensions. For example, if
you are using a remote git server to track your password store;
if you pull an update to .gpg-id
that contains a
different key from the one you usually use, you won't encrypt
new passwords to the malicious key because the signature will
break. New local extensions or modifications to existing
extensions won't happen for the same reason.
In order to generate a signature, run
gpg --detach-sign .gpg-id
Do the same for any non-system extensions. However, it's probably more secure to install extensions with your system's package manager, since these packages will be automatically updated and also signed by the package maintainer. If an extension isn't packaged, you can enable non-system extensions with
set -gx PASSWORD_STORE_ENABLE_EXTENSIONS "true"