Как Вы создавали хранилище пароля? pass init "Kelly's Passwords"
? Если так, это неправильно, необходимо было звонить pass init 64290B2D
.
И если затем pass insert foo
перестанет работать с:
gpg: fooo: skipped: public key not found
gpg: [stdin]: encryption failed: public key not found
затем необходимо доверять собственному ключу сначала (gpg --edit-key 64290B2D
, trust
, 5
, save
).
При тех же признаках, если кто-то наткнется на эту проблему, решение может быть немного другим. Ваш пропуск
использует gpg2
вместо gpg
, который вы могли использовать для создания / управления своими ключами (или, наоборот). Проверить с:
bash -x $(which pass) insert foo
Я получил ту же ошибку, но проверка с помощью gpg2 --list-keys
дает мне
pub rsa4096/0x12345678 2016-11-22 [SC] [expired: 2018-11-26]
Итак, мое решение
gpg --edit-key 0x12345678
gpg> expire
...
gpg> save
См.https://unix.stackexchange.com/a/177310/14315
Если вам нужно обновить подразделы, используйте это:
> e.g. if the subkey whose validity you want to extend is the first listed
> subkey, or if it is the only listed subkey, then the command would be
> Command> key 1
> this will put a * after the word sub, indicating that this particular
> subkey has been selected. then
> Command> expire
> and follow the prompts.
Источникhttps://lists.gnupg.org/pipermail/gnupg-users/2005-June/026063.html
Если вы получаете другую ошибку при использовании срока действия, например:
part of private key missing
Попробуйте использовать gpg2 вместо gpg.
Помните, что pass init <gpg-id>
используется для инициализации нового хранилища паролей, и используйте идентификатор gpg -для шифрования. Который вы генерируете только для первого раза .
Принимая во внимание, что pass add <folder/file>
используется для добавления нового пароля в указанное выше хранилище паролей.
$ pass init tsabunkar (storage-manager should be done first time only)
$ pass add personal/gmail (adding my gmail creds)
Теперь, если вы хотите добавить другие учетные данные, а не:
$ pass add personal/linux
Теперь вы снова хотите добавить другие учетные данные, но на этот раз вы использовали команду init
вместоadd
$ pass init personal/aws/root
но позже вы поняли, что этот вариант должен был бытьadd
$ pass add personal/aws/root
Сообщение об ошибке:
Enter password for personal/aws/root:
Retype password for personal/aws/root:
gpg: personal/aws/root: skipped: No public key
gpg: [stdin]: encryption failed: No public key
Password encryption aborted.
Я думаю, теперь вы понимаете, что это потому, что вы ссылаетесь на неправильный пароль -магазин , который должен был быть цабункар , но не персональный/aws/root ] Поэтому повторная -ссылка на правильный пароль -решает эту проблему :
.$ pass init tsabunkar
$ pass add personal/aws/root
gpg --generate-key
– ItayB 19.06.2017, 08:43