Pet*_*ter 44 linux unix encryption
我正在寻找一个实用程序来加密 Linux 中的某些目录。我不是在寻找任何全盘加密服务,而只是为了将文件存储在云中而加密一些目录。一旦检索到它们,我就必须先解密它们,然后才能访问它们。希望为几个目录(大小为几百 GB)执行此操作。有任何想法吗?最好是基于 CLI 的。
zer*_*ro0 50
我只使用 GnuPG 来完成这项任务。这些文件夹首先被打包到一个 TAR-GZ 档案中:
tar czf files.tar.gz /path/to/my/files
Run Code Online (Sandbox Code Playgroud)
如果尚未完成,您需要先创建一个 GPG 私钥/公钥对:
gpg --gen-key
Run Code Online (Sandbox Code Playgroud)
按照说明操作。默认值应该足以进行第一次测试。会出现这样的东西:
gpg (GnuPG) 2.0.18;版权所有 (C) 2011 Free Software Foundation, Inc. 这是免费软件:您可以自由更改和重新分发它。 在法律允许的范围内,不提供任何保证。 请选择您想要的密钥类型: (1) RSA 和 RSA(默认) (2) DSA 和 Elgamal (3) DSA(仅签名) (4) RSA(仅签名) 你的选择?1 RSA 密钥的长度可能在 1024 到 4096 位之间。 你想要什么键大小?(2048) 4096 请求的密钥大小为 4096 位 请指定密钥的有效期。 0 = 密钥不会过期 = 密钥在 n 天后到期 w = 密钥在 n 周后到期 m = 密钥在 n 个月后到期 y = 密钥在 n 年后到期 密钥对什么有效?(0) 密钥根本不会过期 这样对吗?(y/N) 是 GnuPG 需要构造一个用户 ID 来标识您的密钥。 真实姓名:文件加密密钥 电子邮件地址:admin@company.org 评论:文件加密密钥 您选择了此用户 ID: 《文件加密密钥(File Encryption Key)》 更改 (N)ame、(C)omment、(E)mail 或 (O)kay/(Q)uit?○
您将被要求输入密钥的密码。强烈建议使用强的。反正文件加密不需要,以后批量使用不用担心。
如果一切都完成了,你的屏幕上会出现这样的东西:
我们需要生成大量随机字节。执行是个好主意 其他一些操作(在键盘上键入,移动鼠标,使用 磁盘)在素数生成期间;这给出了随机数 生成器有更好的机会获得足够的熵。 我们需要生成大量随机字节。执行是个好主意 其他一些操作(在键盘上键入,移动鼠标,使用 磁盘)在素数生成期间;这给出了随机数 生成器有更好的机会获得足够的熵。 gpg:标记为最终受信任的密钥 FE53C811 创建并签名的公钥和私钥。 gpg:检查信任数据库 gpg:需要 3 个边际(s),需要 1 个完整(s),PGP 信任模型 gpg:深度:0 有效:1 签名:0 信任:0-、0q、0n、0m、0f、1u 酒吧****/******** 2013-03-19 钥匙指纹 = **** **** **** **** **** **** **** **** **** **** uid 文件加密密钥(File Encryption Key) 子****/******** 2013-03-19
现在您可能需要导出公钥文件以便在其他机器上导入它:
gpg --armor --output file-enc-pubkey.txt --export 'File Encryption Key'
Run Code Online (Sandbox Code Playgroud)
这File Encryption Key
是我在密钥生成过程中输入的名称。
现在我在新创建的存档上使用 GnuPG:
gpg --encrypt --recipient 'File Encryption Key' files.tar.gz
Run Code Online (Sandbox Code Playgroud)
您现在有一个files.tar.gz.gpg
已加密的文件。
您可以使用以下命令对其进行解密(系统会要求您输入密码):
gpg --output files.tar.gz --decrypt files.tar.gz.gpg
Run Code Online (Sandbox Code Playgroud)
这就是整个魔法。
确保备份您的密钥!永远不要忘记您的密码!如果不备份或忘记,您将拥有数千兆字节的数据垃圾!
使用以下命令备份您的私钥:
gpg --armor --output file-enc-privkey.asc --export-secret-keys 'File Encryption Key'
Run Code Online (Sandbox Code Playgroud)
好处
小智 28
就我而言,我主要使用两种方法:
tar cvf backup.tar /path/to/folder
Run Code Online (Sandbox Code Playgroud)
您可以从 tar 命令中删除 [v] 开关以关闭详细模式。
openssl aes-128-cbc -salt -in backup.tar -out backup.tar.aes -k yourpassword
Run Code Online (Sandbox Code Playgroud)
您可以将 aes-128-cbc 更改为 openssl 支持的任何其他密码方法 (openssl --help)。
openssl aes-128-cbc -d -salt -in backup.tar.aes -out backup.restored.tar
Run Code Online (Sandbox Code Playgroud)
它会要求输入密码。
zip -r -0 -e backup.zip /path/to/folder
Run Code Online (Sandbox Code Playgroud)
它会要求输入密码。
这样做的一个优点:它将更好地与基于 Windows 的系统一起运行。
chi*_*org 22
如果您不想使用公钥/私钥对加密文件,而只想使用带密码的对称加密,请使用以下命令:
gpg --symmetric --cipher-algo aes256 files.tar.gz
Run Code Online (Sandbox Code Playgroud)
系统会要求您输入密码。之后,一个名为的加密文件files.tar.gz.gpg
创建。
解密使用命令
gpg --decrypt files.tar.gz.gpg > files.tar.gz
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
78222 次 |
最近记录: |