
新しくインストールした 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
。