Questions tagged «pinentry»

2
如何使pinentry-curses从正确的tty开始?
我gpg-agent用于管理两个PGP e SSH身份。代理以这样的脚本启动 gpg_agent_env="$XDG_CACHE_HOME/gpg-agent.env" export GPG_TTY="$(tty)" if ! ps -U "$USER" -o ucomm | grep -q gpg-agent; then eval "$({gpg-agent --daemon | tee $gpg_agent_env} 2> /dev/null)" else source "$gpg_agent_env" 2> /dev/null fi 每当我运行交互式外壳程序时,该源代码便会提供。使用此设置,一切都可以正常工作,但是存在问题。假设我: 打开终端(在后台启动代理)并开始工作 过一会儿再打开第二个终端 进行需要在第二个终端输入密码的操作 此时gpg-agent将开始pinentry-curses提示密码,但是它将在第一个终端中执行此操作,这将导致其输出与正在运行的内容(通常是文本编辑器)混合在一起,而无法继续执行程序或停止pinentry(它开始使用100%cpu我必须杀死它)。 我一定在这里做错了。有人经历过吗? 更新: 我发现这种情况仅发生在解锁SSH密钥的提示(看起来像这样)中,而PGP密钥的提示总是在正确的(即当前)tty上打开。
13 tty  gpg  pinentry 

2
Pinentry因gpg-agent和SSH失败
我正在运行Fedora22。我正在尝试设置GnuPG以使用位于Yubikey Neo上的PGP身份验证子项对SSH连接进行身份验证。 我有一个启动gpg-agent的systemd单元,如下所示: /usr/bin/gpg-agent --homedir=%h/.gnupg --daemon --use-standard-socket 并且我在配置中启用了SSH支持: enable-ssh-support pinentry-program /usr/bin/pinentry-gtk 设置的其他部分包括将我的密钥的keygrip添加到~/.gnupg/sshcontrol文件中,将我的公共密钥添加到远程主机以及声明环境变量。 从全局看安装程序似乎可以运行的各种日志,我可以看到SSH找到了密钥,但实际上没有用它签名。如果查看来自的日志gpg-agent,则可以看到它无法启动pinentry程序,因此,不要求输入PIN码: 2015-07-22 23:23:28 gpg-agent[6758] DBG: error calling pinentry: Ioctl() inappropriate for a device <Pinentry> 2015-07-22 23:23:28 gpg-agent[6758] DBG: chan_8 -> BYE 2015-07-22 23:23:28 gpg-agent[6758] DBG: chan_7 -> CAN 2015-07-22 23:23:28 gpg-agent[6758] DBG: chan_7 <- ERR 100663573 The IPC …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.