如何将 Duplicity 备份恢复到新主机?

如何将 Duplicity 备份恢复到新主机?
  • RAID 阵列发生灾难性故障,所有内容均丢失。

  • 通过 duplicity 在 S3 上拥有一整套备份(2003 个文件),并使用 GPG 加密。

  • 我有密码和用于加密备份的私钥副本。

  • 我已经使用 导入了新主机上的私钥gpg --import-key KEYNAMEgpg --list-keys它给了我KEYID。我们假设它是 123456。

  • 将所有文件从 S3 下载到新的本地主机。

  • 当我尝试列出备份中的文件时,duplicity list-current-files file:///mnt/Media/backups --encrypt-key 123456结果是:

Synchronizing remote metadata to local cache... GnuPG passphrase: Copying duplicity-full-signatures.20111105T191036Z.sigtar.gpg to local cache. GPGError: GPG Failed, see log below: ===== Begin GnuPG log ===== gpg: encrypted with RSA key, ID ABCDEFG gpg: decryption failed: No secret key ===== End GnuPG log =====

我遗漏了哪些步骤?GnuPG 日志中引用的 RSA 密钥(例如:ABCDEF)与我导入的密钥的 ID(例如:123456)不同,这与问题有关吗?

当我最初设置备份时,我的测试恢复一切正常,但现在我意识到这是因为密钥已经在备份主机上可用。但由于原始主机已损坏,恢复到全新主机对我来说完全是新鲜事。提前致谢。

答案1

将备份密钥从 BAK-SERVER 发送到 RESTORE-SERVER

#ON BAK-SERVER
gpg --list-keys
gpg --armor --export-secret-keys bak-key-name > bak-key-name.secret.asc
cat bak-key-name.secret.asc |nc -l BAK-SERVER_IP 12345


#ON Restore-SERVER

nc BAK-SERVER_IP 12345 > bak-key-name.secret.asc
gpg --import bak-key-name.secret.asc

获取加密密钥:例如 05AB3DF5

gpg --list-keys

/root/.gnupg/pubring.gpg
------------------------
pub   2048R/05AB3DF5 2013-09-19
uid                  Your Name <[email protected]>
sub   2048R/32866E3B 2013-09-19

在BAK-SERVER上备份

PASSPHRASE="passphrase_for_GPG" duplicity  full --encrypt-key 05AB3DF5  /source BAK_URL 

在 RESTORE-SERVER 上恢复

PASSPHRASE="passphrase_for_GPG" duplicity  restore --encrypt-key 05AB3DF5  BAK_URL /source-restore

参考: https://www.digitalocean.com/community/tutorials/how-to-use-duplicity-with-gpg-to-securely-automate-backups-on-ubuntu

相关内容