@gpg 復号化に失敗しました: 秘密鍵がありません

@gpg 復号化に失敗しました: 秘密鍵がありません

新しくインストールした Ubuntu サーバーに PGP キー ペアをコピーしました。しかし、機能しません。ファイルを復号化しようとすると、「操作がキャンセルされました」というエラーが表示されます。

$ echo TEST | gpg -e -a -r [email protected] > test.gpg

$ gpg -d < test.gpg
gpg: encrypted with 1024-bit ELG key, ID CBABC188BB23CD11, created 2003-05-22
      "Emanuele Paolini <[email protected]>"
gpg: public key decryption failed: Operation cancelled
gpg: decryption failed: No secret key

$ gpg --list-secret-keys
/home/paolini/.gnupg/pubring.gpg
--------------------------------
sec   dsa1024 2003-05-22 [SC]
      848EA2CE420E06FF22E88DED7F0D73E98288DA05
uid           [ultimate] Emanuele Paolini <[email protected]>
uid           [ultimate] Emanuele Paolini <[email protected]>
uid           [ultimate] Emanuele Paolini <[email protected]>
uid           [ultimate] Emanuele Paolini <[email protected]>
uid           [ultimate] Emanuele Paolini <[email protected]>
ssb   elg1024 2003-05-22 [E]

同じコマンドが私のパソコンでも問題なく動作します。

  • おそらく、キーのコピーに問題があったのでしょうか?
  • おそらく、ssh 接続に問題があるのでしょうか?

アップデート この問題は、ssh 接続に関連しています。実際、サーバーのコンソールからコマンドを実行すると、正常に動作します (パスワードを要求するウィンドウが開きます)。したがって、これは pinentry と関係があります。私の ssh 接続では、X が有効になっていて動作していました。

アップデート2 @Olivier の提案に従って、pinentry の代替を変更してみました。pinentry-gnome3(デフォルト) とのどちらかしか選択できませんpinentry-cursers。後者を選択すると、残念ながら、「デバイスに不適切な ioctl」というエラーが表示されます...

答え1

解決:

sudo update-alternatives --config pinentry

pinentry-cursesまたは の代替案を選択してくださいpinentry-tty

関連情報