备份 GPG 和 SSH 密钥的最安全方法

备份 GPG 和 SSH 密钥的最安全方法

我在 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 密钥,因此您熟悉命令行。

  1. 将所有密钥移动到一个文件夹中。
  2. 制作该文件夹的 tar 存档。tar -cf keys.tar /path/to/keys/folder
  3. 然后我将使用命令通过 OpenSSL 加密 tar 文件openssl aes-256-cbc -a -in keys.tar -out keys.tar.aes并为其提供安全密码。
  4. 现在,您的所有密钥都已加密在一个 .aes 文件中。您可以安全地将其移动到备份设备。
  5. 当你准备好打开文件时,运行openssl aes-256-cbc -d -in keys.tar.aes -out keys.tar。然后使用以下命令提取 tar 存档:tar -xvf keys.tar

相关内容