Я пытаюсь добавить пароли в менеджер паролей «pass». Но мои попытки терпят неудачу с ошибками GPG «без открытого ключа». Зачем?


27

Я пытаюсь установить Pass: стандартный менеджер паролей Unix , однако, когда я пытаюсь добавить пароли к приложению, я получаю эти ошибки

gpg: Kelly's Passwords: skipped: No public key
gpg: [stdin]: encryption failed: No public key

Открытые ключи GPG?

Когда я набираю команду, gpg --list-keysя получаю:

/home/khays/.gnupg/pubring.gpg
------------------------------
pub   2048R/64290B2D 2012-11-05
uid                  Kelly Hays <hays.kelly@gmail.com>
sub   2048R/0DF57DA8 2012-11-05

Я немного заблудился, как исправить это, какие-нибудь идеи?

Ответы:


28

Как вы создали хранилище паролей? 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).


Я просто добавлю, что для тех, кто был на шаг gpg --generate-key
впереди,

2
@ItayB команда для генерации ключа gpg на самом деле gpg --gen-key(в gpg 1.4.20)
Рубанов

В одном случае использование gpg(версия 1.4.20) в Xubuntu всегда приводит к сбоям (генерация паролей через pass). Использование gpg2(версия 2.1.11) заставило все работать нормально.
Никос Александрис

«Ключ», например, 64290B2D, - это то, что вы использовали для идентификации ключа, в моем случае это адрес электронной почты, который был указан как uid сgpg -k
John Mee

5

С теми же признаками, если кто-то сталкивается с этой проблемой, решение может быть немного другим. Вы passиспользуете gpg2вместо gpg, возможно, вы использовали для создания / управления вашими ключами (или, наоборот). Проверьте с помощью:

bash -x $(which pass) insert foo

2
WTF !? Почему оба gpg и gpg2 установлены в новой системе? Почему ни man-страницу pass, ни ее веб-сайт не хотят упоминать, как создать ключ! @ # &% Gamble gpg ???
Тобиа

2
Если вы уже сгенерировали a с GPG 1 - вы можете импортировать его в GPG 2 следующим образом:gpg2 --import ~/.gnupg/secring.gpg
maxschlepzig

2

Я получил ту же ошибку в то время как запуск bash в отладке помогает. (bash -x), тогда я понял, что pass перечислил несуществующий gpg-ключ в .password-store / .gpg-id


1

Я получил ту же ошибку, но проверка с 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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.