web-dev-qa-db-ja.com

「パス」パスワードマネージャにパスワードを追加しようとしています。しかし、私の試みは「公開鍵なし」のGPGエラーで失敗します。どうして?

インストールしようとしています パス:標準の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 <[email protected]>
sub   2048R/0DF57DA8 2012-11-05

私はこれを改善する方法、少しのアイデアを少し失っていますか?

28
Kelly Hays

パスワードストアをどのように作成しましたか? 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 64290B2Dtrust5save)。

29
zhenech

同じ兆候で、誰かがこの問題に遭遇した場合、解決策は少し異なるかもしれません。 passgpgの代わりにgpg2を使用しています。キーの生成/管理に使用した可能性があります(またはその逆)。確認:

bash -x $(which pass) insert foo
5
Michal Ingeli

しばらく同じエラーが発生しましたが、デバッグでbashを実行すると役立ちます。 (bash -x)、次に、パスが.password-store/.gpg-idに存在しないgpg-keyをリストしていたことに気付きました

2
Antoine Claval

同じエラーが発生しましたが、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

有効期限の使用中に次のような別のエラーが発生した場合:

秘密鍵の一部がありません

Gpgの代わりにgpg2を使用してみてください。

1
Torsten