我在 Ubuntu 14.10 中生成了一组公共和私有 GPG 和 SSH 密钥,但是我现在需要进行全新安装并且不想丢失它们,但又不想将它们作为文本文件放在 USB 上。
那么最安全的备份方法是什么?
有没有什么方法可以加密它们导出的文件或者类似的东西?
答案1
您的 GPG 密钥环已经加密,但它的强度仅与您的密码一样强(任何加密都是如此)。
我会制作一个包含所有要备份的文件的 tar 文件(列出要备份的几个文件夹/文件,或者使用-T, --files-from
从 FILE 中获取要提取或创建的名称)并将 tar 的输出通过管道传输到 GPG。基本上:
tar -c folder | gpg --output archive.tar.gpg -e
但要小心,不要用你的密钥加密你唯一的密钥副本……也就是说,不要把保险箱的钥匙锁在保险箱里。传统的(仅密码)加密也有效:
tar -cz --files-from=addthese.txt | gpg --cipher-algo AES256 -z 0 --output archive.tar.gz.gpg -c
这样可以避免制作任何额外的未加密数据副本,如果您担心的话,您必须找到并擦除这些副本(或擦除所有可用空间)。如果您要备份的不仅仅是纯文本文件,任何使用标准输出的程序也可以通过管道传输到 gpg。
答案2
这就是我备份安全数据的方法。我假设您使用 ssh 密钥,因此您熟悉命令行。
- 将所有密钥移动到一个文件夹中。
- 制作该文件夹的 tar 存档。
tar -cf keys.tar /path/to/keys/folder
- 然后我将使用命令通过 OpenSSL 加密 tar 文件
openssl aes-256-cbc -a -in keys.tar -out keys.tar.aes
并为其提供安全密码。 - 现在,您的所有密钥都已加密在一个 .aes 文件中。您可以安全地将其移动到备份设备。
- 当你准备好打开文件时,运行
openssl aes-256-cbc -d -in keys.tar.aes -out keys.tar
。然后使用以下命令提取 tar 存档:tar -xvf keys.tar