Начальная настройка password-store
В данном руководстве не будет рассказано как инициализировать gpg2-ключ и пользоваться git.

Для начала нужен существующий gpg-ключ. О том, как его создать в Сети существует множество руководств, потому повторяться не буду (по крайней мере в данном руководстве; FIXME: если такое руководство появится на нашем форуме, ссылка появится здесь).

pass шифрует пароли (на самом деле любые файлы любого размера, но основная его функция, о чём говорит его название, — хранение паролей) с помощью gpg-ключа.

Чтобы увидеть свой ключ (в удобном формате), можно выполнить следующую команду:

Код:
gpg2 --keyid-format 0xlong --list-keys $(id -un) 2>/dev/null | awk '/^pub .* \[SC\].*/{print $2}' | sed 's@.*/@@'

Если команда ничего не выдала, можно заменить $(id -un) на свой email.

Чтобы указать pass, какой ключ нужно использовать, нужно сделать два шага: прописать в ~/.bashrc/~/.zshrc (TODO: добавить описание для fish):

Код:
export PASSWORD_STORE_KEY="0x0000000000000000" # Указать здесь свой ключ;
export PASSWORD_STORE_DIR="${HOME}/.password-store" # Или любая удобная директория, по умолчанию используется ${HOME}/.password-store;
export PASSWORD_STORE_CLIP_TIME="30" # Время в секундах, сколько пароль будет храниться в буфере обмена при копировании;

После этого нужно перезапустить bash/zsh, или выполнить одну из следующих команд (в зависимости от используемого шелла).

Для bash:

Код:
source ~/.bashrc

Для zsh:

Код:
source ~/.zshrc

После этого остаётся только инициализировать хранилище паролей:

Код:
pass init "${PASSWORD_STORE_KEY}"

Всё, можно пользоваться!

Чтобы убедиться, что всё работает, добавим новый пароль:

Код:
pass insert "site/user"

pass попросит ввести пароль дважды, по умолчанию ввод скрыт (как в login, su, sudo или ssh). В случае использования опции -e (pass insert -e "site/user"), пароль будет показан при вводе, и ввести его нужно будет только один раз.

---

В pass предусмотрен функционал версионирования с помощью git. Для того, чтобы пользоваться git внутри хранилища паролей, не требуется заходить (cd) в директорию с паролями и не нужно использовать git напрямую, pass может "передавать" команды git, то есть чтобы инициализировать git-репозиторий (git init), нужно выполнить:

Код:
pass git init

Если в хранилище уже были пароли, они будут автоматически добавлены в версионирование.

После этого pass будет самостоятельно коммитить каждое изменение.

Также можно настроить удалённый репозиторий (FIXME: это относится к git, и потому описано здесь не будет) и периодически делать pass git push.
Правила форума
[Новичкам] Как правильно задавать вопросы, чтобы Вам помогли

«Буду бить аккуратно, но сильно!» © Лёлик, х/ф «Бриллиантовая рука»
Ответ