如何在 Linux 中轻松加密和解密文件和目录

您是否曾经想在 Linux 中快速轻松地加密文件,而无需安装和学习新的软件包? 这是一种通过密码保护的 AES256 轻松加密文件或目录的出色而简单的方法,有助于防止您的文件被窥探。

使用 OpenSSL 进行加密的基础知识

重要的是要注意,加密的意义远不止于此。

你可能谨慎阅读 OpenSSL 文档 在使用您的数据信任此方法之前。 尽管如此,假设您没有试图逃避 NSA 或俄罗斯军方,这种方法应该可以完美地保护您的文件和目录的安全并且其他人无法访问。

安装 OpenSSL

您确实需要安装流行的 OpenSSL 包,因此首先检查它是否已使用 Linux 命令安装:

openssl version

如果它打印出当前版本号,那么您已经为下一部分做好了准备。 否则,如果您收到“找不到命令”错误,您可以通过 apt-get 轻松安装 OpenSSL:

sudo apt-get -y install openssl

加密和解密文件

为了 example,如果你想加密一个名为 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 的魔力,这没有问题。 为了 example,如果你想加密一个名为“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”,它是加密文件的名称。 此命令将提示您输入加密密码,继续解密并解压缩存档,然后删除临时存档,从而留下解密的目录。

保护您的数据

既然您知道快速加密和解密数据是多么容易,那么就可以利用您的知识并确保您的私人数据安全并避免数据泄露。 再次重申,加密比这里介绍的要多得多,以上内容并不是为了逃避执法或高技能和坚定的黑客。

但是,如果您只是想保护您的数据免受诸如您的姐夫或计算机维修技术人员之类的窥探,那么上述方法应该可以很好地解决问题。