gpg:抱歉,根本没有请求终端 - 无法获取输入

问题描述 投票:0回答:4

解密时出现以下错误:

$ eyaml decrypt -s 'ENC and the key goes on here'
.gnupg --quiet --no-secmem-warning --no-permission-warning --no-tty --yes --decrypt)
失败:gpg:抱歉,根本没有请求终端 - 无法获取输入

我检查了我的钥匙,一切正常。此时我已经没有选择了。

linux architecture public-key-encryption gnupg snakeyaml
4个回答
66
投票

如果您在 macOS 上配置了 使用 GPG 进行自动 Git 提交签名,并且您看到此错误,请在

no-tty
中按照 
Fahl-Design 的建议注释掉 ~/.gnupg/gpg.conf

enter image description here

这还允许您按照新密钥的 GitHub 说明 生成新的 GPG 密钥。有关更高级的设置,请阅读On OpenPGP (GnuPG) key management


20
投票

您需要删除该选项

--no-tty

--不-tty
确保 TTY(终端)从未用于任何输出。在某些情况下需要此选项,因为 GnuPG 有时 即使使用了 --batch,也会向 TTY 打印警告。


8
投票

对于那些在没有可用 TTY 的情况下运行的脚本中遇到此错误的人,将

--batch
添加到 GPG 命令行,或将
batch
添加到
~/.gnupg/gpg.conf
中的一行可以使问题消失。


0
投票

我必须更新我的 git 电子邮件,以便它与我的 gpg 密钥上的电子邮件和我的 Github 上的主要电子邮件相匹配。

$ git config --global user.email "[email protected]"
© www.soinside.com 2019 - 2024. All rights reserved.