リモートサイトでローカルgpg-agentを使用するときの混合入力

リモートサイトでローカルgpg-agentを使用するときの混合入力

gpg-agentそのオプションを使用してMacでローカルプログラムを起動しますextra-socket。次に、SSHを使用してリモートサイトに接続し、S.gpg-agentリモートソケットをローカルS.gpg-agent.extraソケットに渡します。これは働きます:

ssh -R /remotehome/.gnupg/S.gpg-agent:/localhome/.gnupg/S.gpg-agent.extra remotesystem

リモートコンピュータで何かに署名しようとすると、pinentryローカルでダイアログボックスが表示され、パスワードの入力を求められます。これがうまくいく方法です。ただし、パスワードの入力を開始すると、一部のキーストロークが明確に入りpinentry(表示されているように*)、一部はプロセスと同じttyで実行されているシェルで終わりますpinentry

     ┌────────────────────────────────────────────────────────────────┐
     │ Note: Request from a remote site.                              │
     │                                                                │
     │ Please enter the passphrase to unlock the OpenPGP secret key:  │
     │ "My name  <my.email@address>"                                  │
     │ 4096-bit RSA key, ID MYKEYIDXXX0000YYY,                        │
     │ created 2015-06-17 (main key ID MYMAINKEYIDXXX0000YYY).        │
     │                                                                │
     │                                                                │
     │ Passphrase: t*i*e_____________________________________________ │
     │                                                                │
     │         <OK>                                    <Cancel>       │
     └────────────────────────────────────────────────────────────────┘

キーを押すと、壊れたパスワードをに送信したり、シェルに入らないキーストロークを送信したりReturnできます。gpgpinentry

/bin/ksh: tie: not found

どうやってpinentryキャッチできますか?みんなttyの鍵?

ローカルコンピュータは、GnuPG 2.1.14(コンパイル)を実行するMacですpkgsrc。リモートサイトは、同じGnuPGバージョンを使用するLinuxシステム、またはGnuPGバージョン2.1.15(違いなし)を使用するOpenBSDシステムです。オプションextra-socketは私のものですgpg-agent.conf。環境変数がGPG_TTY正しく設定され、gpg-connect-agent updatestartuptty /byeローカルで実行すると起動したttyが移動しpinentryますが、同じ問題があります。

gpg-connect-agent updatestartuptty /byeリモートコンピュータでタスクを実行すると、次の結果が得られます。

$ gpg-connect-agent updatestartuptty /bye gpg-connect-agent: connection to agent is in restricted mode ERR 67109115 Forbidden <GPG Agent>

…それは私が期待していたことです。

curs インターフェイスから tty インターフェイスに変更してもpinentry違いはありません。私が使用できるインターフェースはこのpinentry2つだけです。私はX11を実行しません。


アップデート:ローカルシステムがOpenBSD 6.3(GnuPG 2.2.9)を実行し、リモートシステムが一部のUbuntuシステム(GnuPG 2.1.11)を実行している場合、状況はさらに悪化します。いいえキーを押してpinentryシェルに入り、すべての内容を読みます。

関連情報