「パス」パスワードマネージャーにパスワードを追加しようとしています。しかし、私の試みは「公開鍵なし」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 64290B2Dtrust5save)。


私のように一歩遅れた人のために、最初にgpgキーを初期化する必要がありますgpg --generate-key
-ItayB

2
@ItayB gpgキーを生成するコマンドは、実際にはgpg --gen-key(gpg 1.4.20で)
ルバノフ

1つのケースでは、gpgXubuntuで(バージョン1.4.20)を使用すると、常にエラーが発生します(経由でパスワードを生成pass)。gpg2(バージョン2.1.11)を使用すると、すべてが正常に機能しました。
ニコスアレクサン

「キー」、例えば64290B2Dは、あなたが鍵を識別するために使用されるものは何でもあり、私の場合は、電子メールアドレスであることに、とのuidと明らかにしたgpg -k
ジョン・ミー

5

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

bash -x $(which pass) insert foo

2
WTF !? gpgとgpg2の両方が新しいシステムにインストールされるのはなぜですか?パスのマンページもそのウェブサイトも、!@#&%damned gpgキーの作成方法について言及する必要がないのはなぜですか?
トビア

2
GPG 1で既にaを生成している場合-次のようにGPG 2にインポートできますgpg2 --import ~/.gnupg/secring.gpg
。– maxschlepzig

2

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


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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.