为什么使用 GnuPG 解密时会出现无法读取的输出?

为什么使用 GnuPG 解密时会出现无法读取的输出?

我正在尝试恢复之前使用 GnuPG 在另一台 Linux 机器上加密的文件。我学到的这个过程似乎非常简单,但我在解密时遇到了这个错误:

我如何加密:

gpg -c file.tar.gz

然后它提示我输入密码作为密钥,我输入了密码并记下来,这样我就不会忘记

我如何尝试解密:

gpg -d file.tar.gz.gpg

然后它提示我输入密钥,我输入它,然后它打印出许多随机字符并在尝试2c1;1;在终端中作为命令执行时出现错误,如下所示:

截图中的示例

我使用 GnuPG 版本 2.1.15,使用 libgcrypt 1.7.3 进行解密。我认为加密时使用的版本相同。所以,问题是,我该如何解决解密数据的问题?

答案1

gpg -c如果没有设置其他选项,则解密到 STDOUT。您看到的是 的内容file.tar.gz。要验证,请查看

gpg -d file.tar.gz | file -

正在打印(它应该指示类似“gzip 压缩数据”的内容)。

使用以下选项之一将输出存储到文件中(因此使用 GnuPG 的--output标志来定义输出文件,或者简单地将gpg的 STDOUT 重定向到文件):

gpg -o file.tar.gz -d file.tar.gz.gpg
gpg -d file.tar.gz.gpg > file.tar.gz

相关内容