Encryption gpg:解密失败:没有密钥
没有密钥,我无法解密我的文件。我知道以前有人问过这个问题,但这个问题的解决方案对我并没有帮助 这就是我的问题所在。 我在使用--decrypt命令时在命令提示符下收到此错误 gpg:解密失败:没有密钥 我随身带着公钥和密码。 我使用了以下命令来检查是否有密钥 •gpg——列出密钥 •gpg——列出密钥 上述两个命令都返回空白结果(无错误)。所以我决定用import导入公钥 •gpg--导入“C:\PATH\到\u我的\u公钥”Encryption gpg:解密失败:没有密钥,encryption,ssis,gnupg,Encryption,Ssis,Gnupg,没有密钥,我无法解密我的文件。我知道以前有人问过这个问题,但这个问题的解决方案对我并没有帮助 这就是我的问题所在。 我在使用--decrypt命令时在命令提示符下收到此错误 gpg:解密失败:没有密钥 我随身带着公钥和密码。 我使用了以下命令来检查是否有密钥 •gpg——列出密钥 •gpg——列出密钥 上述两个命令都返回空白结果(无错误)。所以我决定用import导入公钥 •gpg--导入“C:\PATH\到\u我的\u公钥” 在--import命令之后,我可以看到public被导入。我找不到处
在--import命令之后,我可以看到public被导入。我找不到处理密钥的方法。有什么方法可以找到密钥或创建新密钥。非常简短的版本:没有密钥就无法解密 GnuPG要求提供密钥(如果您在某处读到该密钥,则通常用作私钥的同义词),因此使用公钥/私钥加密对消息进行加密。不能使用公钥解密消息,这是公钥/私钥加密背后的基本原理。密钥可以使用密码短语进行保护,这就是为什么您可能会使用密码短语(尽管您丢失了密钥)
如果需要解密邮件,请请求私钥,或者请求发件人使用对称加密技术进行加密,并与您共享密码短语。我还收到来自相同2个命令的空白输出:
gpg --list-secret-keys
gpg --list-keys
我有理由怀疑这与最近对~/.gnupg/pubring.kbx
文件所做的更改有关,这导致我运行以下两个命令来重新导入丢失的密钥:
重新导入丢失的密钥:
gpg --import < ~/.gnupg/secring.gpg
gpg——导入<~/.gnupg/secring.gpg
重新导入丢失的公钥:
gpg --import < ~/.gnupg/pubring.gpg
gpg——导入<~/.gnupg/pubring.gpg
- 上述命令的文档:
- 损坏的
:publing.kbx
gpg--列出密钥查看密钥,但当您去解密时,它告诉您找不到密钥,请将--batch
添加到您的decrypt命令中。在我的情况下,系统上同时安装了gpg(1.x)和gpg2,GPG1.x不支持我的ed25519密钥
通过查看版本grep forPubkey
/usr/bin/gpg --version
/usr/bin/gpg2 --version
如果是这种情况,请尝试gpg2——列出密钥
如果可行,请将别名添加到.bashrc并将符号链接到~/bin(对于git)
然后,gpg--list secret keys
输出不再为空
也许这并不能解决OP的问题,但希望这能帮助到其他人。您可以使用以下命令忽略此错误:导出GPG_TTY=$(TTY)
如果您的pinentry程序工作不正常,GPG无法获取密码来解锁解密密钥,也会出现此消息。这种事在我身上发生过好几次。如果是这种情况,gpg-d-v
将出现,选择正确的键,然后在放弃之前挂起一段时间。这是在等待永远不会回来的松树园
这些步骤取决于您的特定环境,但在~/.gnupg/gpg agent.conf
中选中(或创建)pinentry程序选项是一个很好的开始。在我的情况下(在安装了自制gpg
和pinentry mac
的OS X上),我必须创建包含以下内容的文件:
pinentry-program /usr/local/bin/pinentry-mac
您可能需要根据需要调整您喜欢的pinentry程序。我也有同样的错误,但有不同的解决方案,这是在OSX上,但我认为在其他程序上也会类似
gpg代理似乎是罪魁祸首,因为我意识到我的一把钥匙从来没有得到过pinentry
问题。
用gpgconf杀死它——杀死gpg代理解决了这个问题。在第一次需要它的呼叫中,gpg代理将自动启动。确实,pinentry出现了,一切又恢复正常。在将Ubuntu从16.04
升级到18.04
之后,我现在丢失了我的密钥。使用此方法重新导入对我有效。它也对我有效,谢谢:-)`/.gnupg/secring.gpg`为空相关:macOS Big Sur用户在这里,也使用自制。我对以上的一切一无所知。我想我可能已经通过自制升级了gpg,完全忘记了检查gpg代理
配置是否需要任何更改。。。在任何情况下,我都不知道该在哪里改变什么。非常感谢。
pinentry-program /usr/local/bin/pinentry-mac