tmuxにpinentryは表示されません。

tmuxにpinentryは表示されません。

Yubikey Neo gpg(実際にはバックグラウンドpassで)の使用にgpg問題があります。tmuxファイルの復号化を使用するか、何かに署名しようとすると、gpg次のメッセージが表示されます。

$ gpg -d test.gpg            
gpg: sending command `SCD PKDECRYPT' to agent failed: ec=5.99
gpg: public key decryption failed: general error
gpg: decryption failed: secret key not available

tmuxこれは内部的にのみ機能します。通常のセッションで同じコマンドを直接実行しようとすると機能します。zshgnome-terminal

gpg -d test.gpg 
helloworld

pinentryYubikeyのロックを解除してファイルの復号化を続行するには、PINを入力するように求められます。

私は問題をpinentry構築できないものに絞ったと思います。ログレベルを設定すると、gpg-agent次の結果が表示されます。

gpg-agent[906]: DBG: chan_6 <- INQUIRE NEEDPIN ||Please enter the PIN
gpg-agent[906]: starting a new PIN Entry
gpg-agent[906]: DBG: chan_7 <- OK Pleased to meet you, process 906
gpg-agent[906]: DBG: connection to PIN entry established
... options removed ...
gpg-agent[906]: DBG: chan_7 -> GETINFO pid
gpg-agent[906]: DBG: chan_7 <- D 13381
gpg-agent[906]: DBG: chan_7 <- OK
gpg-agent[906]: DBG: chan_7 -> SETKEYINFO --clear
gpg-agent[906]: DBG: chan_7 <- OK
gpg-agent[906]: DBG: chan_7 -> SETDESC Please enter the PIN
gpg-agent[906]: DBG: chan_7 <- OK
gpg-agent[906]: DBG: chan_7 -> SETPROMPT PIN
gpg-agent[906]: DBG: chan_7 <- OK
gpg-agent[906]: DBG: chan_7 -> [[Confidential data not shown]]
gpg-agent[906]: DBG: chan_7 <- [[Confidential data not shown]]
gpg-agent[906]: DBG: error calling pinentry: Operation cancelled <Pinentry>
gpg-agent[906]: DBG: chan_7 -> BYE
gpg-agent[906]: DBG: chan_6 -> CAN
gpg-agent[906]: DBG: chan_6 <- ERR 100663573 IPC call has been cancelled <SCD>
gpg-agent[906]: DBG: chan_5 -> ERR 83886179 Operation cancelled <Pinentry>

明らかに処理されていないいくつかのステートメントをOPTION除いて、不審な内容は見えませんが、から呼び出すとpinentry同じ結果が得られますgnome-terminal

変数を設定して$DISPLAYも役に立ちません。エラーは同じです。

私は何を逃したことがありませんか?設定する必要がある他の変数がありますか?pinentry-ncursesグラフィカルインターフェイスを開くことができない場合、なぜこれが起こらないのですか?

ベストアンサー1

問題は(何らかの理由で)gpgdbusを使用しようとしていますが、tmux環境変数がDBUS_SESSION_BUS_ADDRESS古くなっていることです。

この問題は次のように解決できます。

set-option -g update-environment 'DBUS_SESSION_BUS_ADDRESS'

存在する.tmux.conf

おすすめ記事