pass をかなり長い間使用しています。しかし、キーストレージとgpgキーを別のマシンにエクスポートした後、次の出力が表示されます。
$ gpg --list-key
/home/shved/.gnupg/pubring.gpg
------------------------------
pub 2048R/FA829B53 2015-04-28
uid [ultimate] Yury Shvedov (shved) <[email protected]>
sub 2048R/74270D4A 2015-04-28
私の鍵はインポートされ、信頼されていますが、使用できません:
pass insert test
Enter password for test:
Retype password for test:
gpg: 2048R/FA829B53: skipped: No public key
gpg: [stdin]: encryption failed: No public key
fatal: pathspec '/home/shved/.password-store/test.gpg' did not match any files
キーをもう一度使用するにはどうすればよいですか?
pass はgnupg2を使用します。これは、キーリングをgnupg 1.xと共有しません。
Gnupgの代わりにgnupg2を使用してキーを再度インポートします。ターゲットマシンのgnupgにすでにキーがある場合は、次のコマンドを実行します。
$ gpg --export-secret-keys > keyfile
$ gpg2 --import keyfile
インポート後、キーの信頼を更新する必要がある場合があります。 Secret key is available.
インポートが成功した場合のメッセージ:
$ gpg2 --edit-key FA829B53
[...]
Secret key is available.
sec rsa4096/FA829B53
created: 2015-03-14 expires: 2017-03-13 usage: SC
trust: unknown validity: ultimate
ssb rsa4096/74270D4A
created: 2015-03-14 expires: 2017-03-13 usage: E
[ultimate] (1). Yury Shvedov (shved) <[email protected]>
次に、キーの信頼を更新します。
gpg> trust
[...]
Your decision? 5
Do you really want to set this key to ultimate trust? (y/N) y
[...]
gpg> save
出力ライン
gpg: 2048R/FA829B53: skipped: No public key
誤ったpass
初期化を示しています。コマンドpass init 2048R/FA829B53
でpass
を初期化しましたが、コマンドpass init FA829B53
で初期化する必要があります。この問題を解決するには、ファイル~/.password-store/.gpg-id
の内容を2048R/FA829B53
からFA829B53
に変更し、変更をコミットする必要があります。
PS
@ŁukaszLisのアドバイスはすべて正しいので、あなたもそれらを完了する必要があります。それ以外の場合は、パスを復号化できません。
$ pass -c test
エラーが発生します:gpg: decryption failed: No secret key
信頼できるキーがファイル~/.password-store/.gpg-id
で同じかどうかを確認します
新しいストアを作成し、「2048R/FA829B53」のようなキーIDで初期化したときにこれに気づきました。これは、過去に行われた方法であると考えていました。古いバックアップを見ると、.gpg_idが異なります。
ただし、現在はFA829B53のみが使用されているようで、現在のマニュアルページでは、作成者は自分のメールアドレスを使用しています。
私はgpg_idファイルをチェックします、私にとって新鮮な店ではそれはFA829B53だけで他の行はありません