Kus*_*nda 5 ssh tty gpg gpg-agent pinentry
我正在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
Run Code Online (Sandbox Code Playgroud)
当我想在远程机器上签名时,pinentry本地会弹出对话框并要求输入密码,这就是它应该工作的方式。但是,当我开始输入密码时,某些按键显然会进入pinentry(它们显示为*),而某些按键最终会出现在与pinentry进程在同一 tty 上运行的 shell中。
??????????????????????????????????????????????????????????????????
? 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> ?
??????????????????????????????????????????????????????????????????
Run Code Online (Sandbox Code Playgroud)
按下Return有机会将损坏的密码发送到gpg,或者发送任何未进入pinentry外壳的按键:
/bin/ksh: tie: not found
如何从 tty 中pinentry获取所有密钥?
本地机器是运行 GnuPG 2.1.14(编译自pkgsrc)的 Mac 。远程站点是具有相同 GnuPG 版本的 Linux 机器或具有 GnuPG 版本 2.1.15(没有区别)的 OpenBSD 机器。该extra-socket选项是我的gpg-agent.conf. 环境变量GPG_TTY设置正确,在gpg-connect-agent updatestartuptty /bye本地运行会移动pinentry启动的tty ,但有同样的问题。
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>
......这是我有点期望应该发生的事情。
从 curses 接口更改为 tty 接口 forpinentry没有区别。这是pinentry我仅有的两个接口。我不运行 X11。
更新:本地系统运行 OpenBSD 6.3 (GnuPG 2.2.9) 而远程系统是一些 Ubuntu 系统 (GnuPG 2.1.11),更糟糕的是没有按键进入pinentry,所有内容都被 shell 读取。
| 归档时间: |
|
| 查看次数: |
742 次 |
| 最近记录: |