gpg解密失败,没有密钥错误

问题描述 投票:32回答:3

我有一个gpg .key文件,用作解密.dat.pgp文件的密码。使用以下命令,已加密的.data.pgp文件在具有相同.key文件的一台服务器上成功解密。

cat xxx_gpg.key | /usr/bin/gpg --batch --quiet -o xxx.dat --passphrase-fd O -d xxx.dat.pgp

但是,当我将相同的密钥移至另一台服务器xxx_gpg.key并在上述命令上运行相同的命令时,出现以下错误-

gpg: decryption failed: No secret key

编辑:

[我发现gpg --list-secret-keys在工作的服务器上返回了一些数据,但其他服务器未返回任何结果。

我们如何配置密钥

unix encryption public-key-encryption gnupg
3个回答
19
投票

似乎该密钥不在另一台计算机上,因此即使使用正确的密码短语(从文件中读取),它也不起作用。

这些选项应该起作用,对

  • 将密钥环(也许只需要密钥环,但公共环还是公开的)复制到另一台机器上>]
  • 或导出密钥,然后将其导入另一台计算机上
  • man gpg中的一些有用的外观选项:

--export从所有密钥环导出所有密钥(默认密钥环和那些通过选项--keyring注册),或者至少给出一个名称,给定名称的那些。新的密钥环将写入STDOUT或使用选项--output给出的文件。与--armor一起使用邮寄那些钥匙。

--export-secret-keys--export相同,但是导出秘密密钥。

--import--fast-import导入/合并键。这会将给定的密钥添加到密钥环。快的版本目前只是同义词。

也许

--keyring file将文件添加到当前的密钥环列表。如果文件以波浪号开头和一个斜杠,它们被$ HOME目录替换。如果文件-名称不包含斜线,假设位于GnuPG主页中目录(如果未使用--homedir或$ GNUPGHOME,则为“〜/ .gnupg”)。

请注意,这会将密钥环添加到当前列表。如果意图是要单独使用指定的密钥环,请同时使用--keyring--no-default-keyring

--secret-keyring file--keyring相同,但用于秘密密钥环。


34
投票

我刚刚在Arch Linux的gpg CLI上遇到了这个问题。我需要终止现有的“ gpg-agent”进程,然后一切恢复正常(自动启动了新的gpg-agent; ...)。


4
投票

如果您在安装有GPG 2.x的系统上尝试su加密其他用户时解密此机密,有时也会出现此错误。 This bug has been reported against RHEL 6,但没有可用的修复程序;显然,这是由于GPG 2.x中的某些设计决策所致。错误报告中建议的一种解决方法是在tmux或屏幕会话内部运行解密。 More reading here

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.