如何在 Linux 终端中轻松加密和解密文件和目录
想要动态加密文件或文件夹吗?以下是如何在 Linux 中使用 OpenSSL 保护数据的方法。
您是否曾经想过在 Linux 中快速轻松地加密文件,而无需安装和学习新的软件包?这是一种出色且简单的方法,可以通过密码保护的 AES256 轻松加密文件或目录,帮助您的文件远离窥探。
OpenSSL 加密的基础知识
值得注意的是,加密的意义远不止于此。
在信任此方法处理您的数据之前,请谨慎阅读 OpenSSL 文档。尽管如此,假设您不是试图逃避美国国家安全局或俄罗斯军方,这种方法应该可以完美地保证您的文件和目录的安全并且其他人无法访问。
安装 OpenSSL
您确实需要安装流行的 OpenSSL 软件包,因此首先使用 Linux 命令检查它是否已安装:
openssl version
如果它打印当前版本号,则说明您已为下一部分做好准备。否则,如果您收到“找不到命令”错误,您可以通过 apt-get 轻松安装 OpenSSL:
sudo apt-get -y install openssl
加密和解密文件
例如,如果您想加密名为 data.tar.gz 的文件,您可以运行以下命令:
openssl aes-256-cbc -a -salt -iter 5 -in data.tar.gz -out data.enc
系统将提示您输入两次加密密码,密码可以是您想要的任何内容。此命令将生成一个新的 data.enc 文件作为新加密的文件。请注意,这会将原始 data.tar.gz 文件保留在其位置,因此请确保在必要时将其删除。
如果需要,您可以使用以下命令解密 data.enc 文件:
openssl aes-256-cbc -d -a -iter 5 -in data.enc -out data_decrypted.tar.gz
上述命令将提示您输入加密密码,然后生成一个包含文件解密版本的 data_decrypted.tar.gz 文件。
加密和解密目录
上一节中的命令对于单个文件非常有效,但是如果您希望加密整个目录会发生什么? OpenSSL 对此没有内置支持,但由于 Linux 的魔力,这不是问题。例如,如果您想加密名为“documents”的目录,您可以使用以下命令:
tar -cf tmpdata.tar documents && gzip tmpdata.tar && openssl aes-256-cbc -a -salt -iter 5 -in tmpdata.tar.gz -out documents.enc && rm -f tmpdata.tar.gz
有点拗口,但上面命令中唯一需要修改的两个地方是第一段中的“documents”,即要加密的目录,以及第三段中的“documents.enc”,即生成的加密文件。此命令将存档目录,对其进行加密,然后删除创建的临时存档,并在其位置留下单个加密的 Documents.enc 文件。
使用以下命令解密新创建的 Documents.enc 文件同样简单:
openssl aes-256-cbc -d -a -iter 5 -in documents.enc -out tmpdata.tar.gz && tar -xzf tmpdata.tar.gz && rm -f tmpdata.tar.gz
上述命令中唯一需要修改的部分是第一段中的“documents.enc”,它是加密文件的名称。此命令将提示您输入加密密码,继续解密并解压存档,然后删除临时存档,留下解密的目录。
保护您的数据
现在您知道快速加密和解密数据是多么容易,请运用您的知识并确保您的私人数据安全并避免数据泄露。再次重申,加密的内容远不止此处介绍的内容,上述内容并不是为了逃避执法部门或高技能且坚定的黑客。
但是,如果您只是想保护您的数据免受诸如姐夫或计算机维修技术人员之类的窥探,那么上述方法应该可以完美解决问题。