我如何让 gpg2 跳过文件而不是要求输入密码?

我如何让 gpg2 跳过文件而不是要求输入密码?
$ DISPLAY= gpg2 --yes --batch --no-tty < file.gpg
┌─────────────────────────────────────────────────────┐
│ Enter passphrase                                    │
│                                                     │
│                                                     │
│ Passphrase ________________________________________ │
│                                                     │
│                                                     │
|       <OK>                             <Cancel>     │
└─────────────────────────────────────────────────────┘

如果没有,DISPLAY=它会显示 GUI 窗口。无论如何它都会等待输入,从而中断循环。

我如何让 gpg2 仅使用 gpg-agent 并且永远不会中断处理来询问任何事情?

提供假货--passphrase会让代理商删除钥匙。

答案1

您可以启用 pinentry 回送模式,gpg-agent.conf并使用--pinentry-mode cancel(或error,取决于您的要求)作为 GnuPG 的参数。这将回送至 GnuPG,而不是某个前端 pinentry 实现,然后返回错误以gpg-agent模拟按下了取消按钮。

答案2

解决方法:根本不要使用 gpg-agent,--passphrase-file而是使用:

killall gpg-agent
gpg2 -q --batch --no-tty --passphrase-file=/tmp/passphrase --decrypt file.gpg

相关内容