gpg: problem with the agent: Permission denied
当我切换用户后调用GPG 时,它失败了su
:
su - user2
gpg --symmetric --passphrase=foo foo.txt
如果我从自己的用户那里调用该命令,它不会失败。有解决方法吗?
我找到了一个话题邮件列表中的一个主题但未得到答复。据推测错误是由于:
该 tty 属于我通过 SSH 登录的原始用户,而不是我通过 su 切换到的用户
答案1
尝试使用环回的PIN输入模式:
gpg --decrypt --pinentry-mode=loopback <file>
当我使用终端 su 尝试 GPG 时,我可以在我的 Linux 系统上复制您的问题:
$ gpg --decrypt example.gpg
gpg: AES256 encrypted data
gpg: problem with the agent: Permission denied
gpg: encrypted with 1 passphrase
gpg: decryption failed: No secret key
对我有用的解决方案:
$ gpg --decrypt --pinentry-mode=loopback example.gpg
hello world
您可能还想验证您的 GPG 是否是最新的:
$ gpg --version
gpg (GnuPG) 2.2.4
libgcrypt 1.8.1
...
您可能还想将 pinentry-mode 环回添加到您的 ~/.gnupg/gpg.conf 文件中(感谢评论中的@Deathgrip)。