使用命令行对文件夹进行GPG加密和解密[关闭]

问题描述 投票:9回答:3

gpg命令行(Gnupg)的手册页有加密和解密文件的命令。这是使用gpg加密/解密文件的标准命令。

gpg --encrypt --recipient [email protected] ~/xxx/xxx.txt - 加密

gpg --output ~/xxx/xxx.txt --decrypt ~/xxx/xxx.gpg - 解密

但如果我有一个包含多个文件和文件夹的文件夹,我如何使用命令行加密它?

encryption public-key-encryption gnupg
3个回答
21
投票

解决方案1:

使用gpg-zip。

将用户Bob的目录mydocs的内容加密到文件test1:

gpg-zip --encrypt --output test1 --gpg-args  -r Bob mydocs

列出归档test1的内容:

gpg-zip --list-archive test1

这是一个直接来自Encrypt or sign files into an archive的例子。如果您详细阅读该页面,它将为您提供很多帮助。

解决方案2:

将目录转换为文件

如果要加密目录,则需要先将其转换为文件。运行命令:

tar czf myfiles.tar.gz mydirectory/

这会为您提供一个新文件'myfiles.tar.gz',然后您可以对其进行加密/解密。要将tarball变回目录:

tar xzf myfiles.tar.gz

现在你可以像上面一样使用加密。所以:

gpg --encrypt --recipient [email protected] ~/xxx/xxx.txt

这是直接来自berkeley encrypting上的一个例子,这也是一个快速而有用的读物​​。

您可以在这里查看手册页:gnu gpg man


2
投票

如果您不想将所有内容压缩在一起并希望单独加密多个文件:

cd进入文件夹

加密:$ls | gpg --multifile --encrypt$ls | gpg --encrypt-files -r <recipient>

解密:$ls | gpg --multifile --decrypt$ls | gpg --decrypt-files


0
投票

gpgtar也是另一种选择。 gpgtar将文件加密或签名到存档中。它是一个gpg化的tar,使用与PGP的PGP Zip相同的格式。

它在MacOS和Linux上与gnupg一起安装。

加密目录

gpgtar --encrypt --output <out_file_name> -r <recipient> <dir_name>

解密目录

gpgtar --decrypt <out_file_name>

gpgtar man page

© www.soinside.com 2019 - 2024. All rights reserved.