マスターパスワードの入力時にpinentry-cursesが起動される

370 views
Skip to first unread message

Yasuhiro Kimura

unread,
May 19, 2021, 9:28:29 PM5/19/21
to mew...@googlegroups.com
木村です。

マスターパスワード関連で問題が発生したので対応策と共に報告しておきます。

* OS: FreeBSD 13.0-RELEASE
* Emacs: 27.2 (FreeBSD Ports Collectionを利用してインストール)
* GnuPG: 2.3.1 (同上)
* pinentry-curses: 1.1.1 (同上、GnuPGの依存でインストールされる)
* Mew: 最新のmasterブランチ (手動でインストール)
* Windows PCからSSHでログインして使用

上記のような環境でmew-use-master-passwdをt設定して特に問題なくマスター
パスワードが使えていました。

それで今までコマンドラインからGnuPGを実行するということがほとんど無かっ
たのですが、最近になって使うようになったところ、パスフレーズの入力時に
エラーが発生するという問題に直面しました。

----------------------------------------------------------------------
yasu@rolling-vm-freebsd2[1019]% cat abc.gpg | gpg --decrypt
gpg: rsa4096鍵, ID 5AF6E0087EAE2D91, 日付2019-03-19に暗号化されました
"Yasuhiro Kimura <ya...@utahime.org>"
gpg: 公開鍵の復号に失敗しました: デバイスが対応していない ioctl です
gpg: 復号に失敗しました: デバイスが対応していない ioctl です
yasu@rolling-vm-freebsd2[1020]%
----------------------------------------------------------------------

調べた結果、

https://gnupg.org/documentation/manuals/gnupg/Common-Problems.html

の「The Curses based Pinentry does not work」にGPG_TTYを正しく設定しろ
とあったので、シェルの設定ファイルに

----------------------------------------------------------------------
GPG_TTY=`tty`
export GPG_TTY
----------------------------------------------------------------------

に追加したところ、パスフレーズが正常に入力出来るようになりました。

これで一件落着と思ったのですが、上記の様に環境変数GPG_TTYを設定した状
態でEmacsを起動してMewを実行すると、マスターパスワードを入力するところ
でpinentry-cursesが起動されてしまい、そこでキーボードを叩いても何も入
力されずEmacsがハングアップしてしまう、という問題が発生しました。

多分gpg-agentあたりの設定の問題だろうと思い調べてみたもののよくわから
ず、結局.emacsに以下の一行を追加して対応しました。

----------------------------------------------------------------------
(setenv "GPG_TTY")
----------------------------------------------------------------------

以上です。

---
木村 康浩
Reply all
Reply to author
Forward
0 new messages