a passphrase generator for pass
basically, as described here: https://www.passwordstore.org/#extensions
wget https://raw.githubusercontent.com/puhoy/pass-generate-phrase/master/generate-phrase/generate-phrase.bash -P ~/.password-store/.extensions/
wget https://raw.githubusercontent.com/puhoy/pass-generate-phrase/master/generate-phrase/eff_large_wordlist.txt -P ~/.password-store/.extensions/
# and make the script executable
chmod +x ~/.password-store/.extensions/generate-phrase.bash
and set PASSWORD_STORE_ENABLE_EXTENSIONS
environment variable to true
put generate-phrase.bash
and eff_large_wordlist.txt
in /usr/lib/password-store/extensions
(or whatever that is for your distribution)
and make the script executable:
/usr/lib/password-store/extensions/generate-phrase.bash
(no need to set the environment var)
pass generate-phrase
[--wordcount,-w wordcount]
[--wordlist,-l wordlist]
[--separator,-s separator]
[--randomupper,-u]
[--clip,-c]
[--qrcode,-q]
[--in-place,-i | --force,-f]
pass-name
generate a passphrase with WORDCOUNT (or 4) words,
made from words in WORDLIST* (or the EFFs long wordlist**),
separated by SEPARATOR (or "-")
* a diceware list, each line like "11111 banana"
**https://www.eff.org/deeplinks/2016/07/new-wordlists-random-passphrases
--wordcount, -w N
generate N words (default 4)
--wordlist, -l /path/to/list
use file under /path/to/list instead of included wordlist
(default the EFFs long wordlist)
--separator, -s SEPARATOR
use SEPARATOR to separate the words (default "-")
--randomupper,-u
randomly uppercase words
...for example
$ pass generate-phrase my/new/testpassword
mkdir: created directory '/home/USER/.password-store/my'
mkdir: created directory '/home/USER/.password-store/my/new'
[master 045a5d5] Add generated password for my/new/testpassword.
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 my/new/testpassword.gpg
The generated password for my/new/testpassword is:
filing-choice-gecko-campus
$ pass generate-phrase my/new/testpassword --separator="+" --wordcount 8 --wordlist diceware_german.txt --randomupper
An entry already exists for my/new/testpassword. Overwrite it? [y/N] y
[master 15b7123] Add generated password for my/new/testpassword.
1 file changed, 0 insertions(+), 0 deletions(-)
rewrite my/new/testpassword.gpg (100%)
The generated password for my/new/testpassword is:
oben+UO+GEPARD+wq+HUEPFTE+WONNE+zitrat+TOD
its the EFFs "long wordlist" from here:
https://www.eff.org/deeplinks/2016/07/new-wordlists-random-passphrases