当你有重要的敏感数据的时候,给你的文件和目录额外加一层保护是至关重要的,特别是当你需要通过网络与他人传输数据的时候。
由于这个原因,我在寻找一个可疑在 linux 上加密及解密文件和目录的实用程序,幸运的是我找到了一个用 tar(linux 的一个压缩打包工具)和 openssl 来解决的方案。借助这两个工具,你真的可以毫不费力地创建和加密 tar 归档文件。
在这篇文章中,我们将了解如何使用 openssl 创建和加密 tar 或 gz(gzip,另一种压缩文件)归档文件:
牢记使用 openssl 的常规方式是:
<code># openssl command command-options arguments</code>
<a target="_blank"></a>
要加密当前工作目录的内容(根据文件的大小,这可能需要一点时间):
<code># tar -czf - * | openssl enc -e -aes256 -out secured.tar.gz</code>
上述命令的解释:
<code>enc</code> - openssl 命令使用加密进行编码
<code>-e</code> – 用来加密输入文件的 <code>enc</code> 命令选项,这里是指前一个 tar 命令的输出
<code>-aes256</code> – 加密用的算法
<code>-out</code> – 用于指定输出文件名的 <code>enc</code> 命令选项,这里文件名是<code>secured.tar.gz</code>
要解密上述 tar 归档内容,使用以下命令。
<code># openssl enc -d -aes256 -in secured.tar.gz | tar xz -c test</code>
<code>-d</code> – 用于解密文件
<code>-c</code> – 提取内容到 <code>test</code> 子目录
下图展示了加解密过程,以及当你尝试执行以下操作时会发生什么:
以传统方式提取 tar 包的内容
使用了错误的密码的时候
当你输入正确的密码的时候
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIn5GcuE3MtNzMoNXZ0FHZt1WN6ZWO1EDM4EzLcBTMvwVMxYTMwIzLc1WdixWYvwFduVWboNWY0RXYvwVY0FGZvwVZt5CevJWcu42Y4VnbpxWLuR2Lc9CX6MHc0RHaiojIsJye.png)
在 linux 中加密和解密 tar 归档文件
当你在本地网络或因特网工作的时候,你可以随时通过加密来保护你和他人共享的重要文本或文件,这有助于降低将其暴露给恶意攻击者的风险。
我们研究了一种使用 openssl(一个 openssl 命令行工具)加密 tar 包的简单技术,你可以参考它的手册页man page来获取更多信息和有用的命令。
原文发布时间为:2017-11-10
本文来自云栖社区合作伙伴“linux中国”