FTP 文件以安全方式 - Openssl 加密和解密 folder/files - gzip: stdin: 不是 gzip 格式 tar: Child 死于信号 13
FTP file in secure way - Openssl to encrypt and decrypt a folder/files - gzip: stdin: not in gzip format tar: Child died with signal 13
Red Hat Enterprise Linux Server release 7.9 (Maipo)
OpenSSL 1.1.0f 2017 年 5 月 25 日(库:OpenSSL 1.1.1g FIPS 2020 年 4 月 21 日)
end-user 没有 SFTP 服务器设置,给了我一个 FTP 服务器来获取一些工件。要通过互联网将文件传输到 FTP,最好先保护文件,为此我使用了以下 post:https://www.tecmint.com/encrypt-decrypt-files-tar-openssl-linux/
基本上,为了从文件夹创建安全 .tar.gz
/ .tgz
文件,我使用以下命令 password-protect 并对其进行加密,它成功了。
# tar -czf - * | openssl enc -e -aes256 -out secured.tar.gz
并解密文件,使用下面的(我没有使用 -C <folder>
选项),就像根据 post 提到的那样,将受保护的 .tar.gz 文件的内容进入某个文件夹):
# openssl enc -d -aes256 -in secured.tar.gz | tar xz
这在我的机器上用于加密和解密(提示输入密码并完成它的工作)。
当 end-user 得到相同的文件时(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)
Red Hat Enterprise Linux Server release 7.9 (Maipo)
OpenSSL 1.1.0f 2017 年 5 月 25 日(库:OpenSSL 1.1.1g FIPS 2020 年 4 月 21 日)
end-user 没有 SFTP 服务器设置,给了我一个 FTP 服务器来获取一些工件。要通过互联网将文件传输到 FTP,最好先保护文件,为此我使用了以下 post:https://www.tecmint.com/encrypt-decrypt-files-tar-openssl-linux/
基本上,为了从文件夹创建安全 .tar.gz
/ .tgz
文件,我使用以下命令 password-protect 并对其进行加密,它成功了。
# tar -czf - * | openssl enc -e -aes256 -out secured.tar.gz
并解密文件,使用下面的(我没有使用 -C <folder>
选项),就像根据 post 提到的那样,将受保护的 .tar.gz 文件的内容进入某个文件夹):
# openssl enc -d -aes256 -in secured.tar.gz | tar xz
这在我的机器上用于加密和解密(提示输入密码并完成它的工作)。
当 end-user 得到相同的文件时(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)