我有一个 Debian buster 系统,我登录到本地 GUI,也通过 ssh 登录。我需要通过 ssh 使用 gnupg 签署一些内容。
不幸的是,我在 ssh 会话上没有收到输入密码的提示,我怀疑提示是在 GUI 中以图形方式显示的,但由于我现在不在机器前面,所以无法检查。
过去我通过杀死 gpg 代理并手动启动一个来实现这一点,但这似乎不再起作用了。代理告诉我它已经在运行了。从一些搜索看来,systemd 用户服务可能是造成这种情况的原因。
答案1
我可以通过创建一个指向我的 gnupg 主目录的符号链接来解决这个问题。
ln -s .gnupg .gnupg_
然后我可以在符号链接的 gnupg 主目录中手动启动 gpg 代理
GNUPGHOME=$HOME/.gnupg_ gpg-agent --pinentry-program /usr/bin/pinentry-curses --daemon bash
在该会话中,我能够使用 gpg 命令并成功获得密码提示。