FTP文件的安全方式- Openssl加密和解密文件夹/文件- gzip: stdin:不是gzip格式的tar: Ch



Red Hat Enterprise Linux Server release 7.9(Maipo)

OpenSSL1.1.0f 2017年5月25日(库:OpenSSL 1.1.1g FIPS 21 Apr 2020)

最终用户没有SFTP服务器设置,给了我一个FTP服务器来获取一些工件。要通过互联网将文件传输到FTP,最好先保护文件,为此我使用了以下帖子:https://www.tecmint.com/encrypt-decrypt-files-tar-openssl-linux/

基本上,要从文件夹中创建安全的.tar.gz/a.tgz文件,我使用以下命令对其进行密码保护和加密,它成功了。

# tar -czf - * | openssl enc -e -aes256 -out secured.tar.gz

和解密文件,使用以下(我不使用-C <folder>选项),就像前面提到的那样,把安全的。tar.gz文件的内容放入某个文件夹中):

# openssl enc -d -aes256 -in secured.tar.gz | tar xz 

这在我的机器上用于加密和解密(提示输入密码并完成它的工作)。

当最终用户获得相同的文件(md45sum)文件的值在我的端和他们的端是相同的,他们得到以下错误消息:

  • PS:他们输入了正确的密码,因为在我这边使用相同的密码工作。

在我的例子中,文件的扩展名为。tgz。

$ openssl enc -d -aes256 -in secure-artifact-package-1.0.0.tgz | tar xz -C artifact_1.0.0
enter aes-256-cbc decryption password:

gzip: stdin: not in gzip format
tar: Child died with signal 13
tar: Error is not recoverable: exiting now
error writing output file

告诉他们尝试-C artifact_1.0.0,得到相同的错误信息。

当密码正确时,为什么会出现这个错误消息?

最终用户使用的是旧版本的OpenSSL,这似乎导致了在解密过程中与密码相关的问题,即如果使用上述方法使用OpenSSL version X创建文件,如果您尝试使用OpenSSL version Y解密它,那么这个问题就来了。

在最终用户安装了相同的OpenSSL版本(或者可能比我的版本更新的版本也可以解决)之后,问题就消失了。

在Linux机器上安装以下OpenSSL版本后,问题解决了。

OpenSSL 1.1.0f 25 May 2017 (Library: OpenSSL 1.1.1g FIPS 21 Apr 2020)

最新更新