我正在尝试在emacs中使用epa模式和org模式,就像这个article所展示的那样。
我使用screen会话和ssh连接到计算机。因此,我需要将/usr/bin/pinentry更改为指向/usr/bin/pinentry-curses,即/usr/bin/pinentry-gtk-2。
我有过
pinentry-program /usr/bin/pinentry-curses 作为.gnupg/gpg.conf中的最后一行。当我尝试保存文件时,会出现以下菜单:
Select recipients for encryption.
If no one is selected, symmetric encryption will be performed.
- `m' to mark a key on the line
- `u' to unmark a key on the line
[Cancel][OK]我选择了'ok‘,但只得到
Opening output file: Encrypt failed, Exit我没有得到密码短语的提示,也没有给出其他输出。它不会提示输入密码短语。它甚至没有将我的gpg“用户”列为foo@bar.com。
然而,当这一行在.gnupg/gpg.conf文件中不存在时,我确实在'Select recipients for encryption‘对话框中看到了我的gpg 'user’。但是,cpu与以下消息相关联:
Encrypting /home/user/test.gpg...(我假设它正在尝试生成gtk窗口并循环运行)
我有点困惑,不知道为什么需要将/usr/bin/pinentry链接到/usr/bin/pinentry-curses,并将该行放在我的gpg.conf文件中。
以前,当/usr/bin/pinentry链接到/usr/bin/pinentry-gtk-2时,如果我在本地机器上,我会得到'Select recipients‘提示,并列出我的gpg用户。我得到一个对话框来输入我的密码短语,这一切都起作用了。我会得到
Encrypting /home/user/test.gpg...这一切都会成功的。
我在一个Arch系统上运行GNU Emacs 24.2.1,这个系统到今天早上是最新的。
我很好奇我做错了什么。我在arch wiki上查看了有关pinentry和gpg的文章,但它们并没有帮助解决这个问题。提前谢谢。
更新: 26-10-2012今天早上对cryptsetup包的更新似乎影响了行为。现在,当我打开一个.gpg文件时,会得到一个“请输入密码”的提示,但它似乎从来没有超过这个提示。输入我的密码短语后,提示符始终不会消失。
发布于 2014-02-14 16:26:35
如果此提示来自pinentry-curses,您可以尝试: 1.输入密码(可能没有后跟enter,请尝试),2.按tab键,3.按enter键两次。
这样做的原因是,您不能看到pinentry-curses所呈现的整个表单。也许可以尝试在emacs之外使用pinentry-curses (并输入命令GETPIN)来理解上面建议的盲目导航。如果在emacs中(在终端或tmux中)使用Mew邮件客户端(和gpg),也存在类似的问题。
有人知道如何将pinentry-curses对话框强制转换为适合emacs的一行吗?
发布于 2018-03-31 22:18:57
有两种主要的方法,但它们的有效性可能会因使用的GPG版本而异。此答案适用于当前的现代分支(即2.2.x),而不是问题提出时的当前分支。
方案1a。编辑~/.gnupg/gpg-agent.conf以使用ncurses:
pinentry-program /usr/bin/pinentry-curses选项1b。编辑~/.gnupg/gpg-agent.conf以使用Emacs Edit条目(如果可用):
pinentry-program /usr/bin/pinentry-emacs选项2.以described here身份通过SSH连接使用本地gpg-agent和图形用户界面
选项2需要花费更多的精力来设置,但不会太多,而且好处是可观的。特别是如果您不想在远程服务器上留下密钥的话。
https://stackoverflow.com/questions/13071720
复制相似问题