在基于控制台的环境(例如 ssh 会话)中使用 gpg 会失败,因为 GTK pinentry 对话框无法在 SSH 会话中显示。
我试过了,unset DISPLAY但没有帮助。GPG 命令行选项不包括用于强制 pinentry 进入控制台模式的开关。
较旧的 GPG 版本提供了基于文本的提示,该提示在 SSH 会话中运行良好,但升级后却失败了。
有--textmode命令行开关,但显然,它还有其他作用。
为远程会话获取纯文本 pin 条目的正确和干净的方法是什么?
在 MacOSX 上,我正在使用gnupg21以签署git commit. 根据项目目前我正在某个时候我使用IDE(这里IntellijIDEA)进行交互git和某个直接terminal。
我必须设置
pinentry-program /usr/local/bin/pinentry-mac
Run Code Online (Sandbox Code Playgroud)
能够继续工作IntellijIDEA。
但是,当我使用terminal. 您认为可以根据情况配置gnupg21选择pinentry程序吗?
/usr/local/bin/pinentry-mac/usr/local/bin/pinentry编辑:我当前的配置文件
gpg-agent.conf
enable-ssh-support
default-cache-ttl 14400
max-cache-ttl 86400
log-file /var/log/gpg-agent.log
pinentry-program /usr/local/bin/pinentry-mac
Run Code Online (Sandbox Code Playgroud)
配置文件
keyserver hkp://keys.gnupg.net
no-tty
use-agent
Run Code Online (Sandbox Code Playgroud)