我使用以下命令使用的 GPG 加密创建了具有重复性的备份。当我想恢复文件时,重复性要求密码进行解密。知道为什么吗?我使用 YubiKey 5 来存储我的 GPG 私钥,因此它没有密码保护,此外,它要求密码短语来解密而不是 GPG 私钥的密码短语。
早些时候我也使用对称加密而不是 GPG(PASSPHRASE 环境变量),但与此同时,客户端的 ~/.cache/duplicity 目录和远程端的完整备份集都被删除了。
:/tmp$ duplicity restore --file-to-restore "/home/gabor/test.jpg" sftp://backupmachine//mnt/duplicity/ /tmp/teszt/test.jpg
Local and Remote metadata are synchronized, no sync needed.
Last full backup date: Sat Aug 27 14:02:43 2022
GnuPG passphrase for decryption:
这是创建备份的方式:
TARGET='sftp://backupmachine//mnt/duplicity/'
SSH_KEY="${BASE_DIR}/cloud.pem"
GPG_ENCRYPT_OPTS=--encrypt-key=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
export DUP_OPT="--ssh-options -oIdentityFile=${SSH_KEY}"
duplicity $DUP_OPT $GPG_ENCRYPT_OPTS --full-if-older-than 3W --include-filelist "$(dirname $0)/gabor1-list.txt" --exclude '**' --exclude "$HOME/.cache/duplicity" / "${TARGET}"
这就是我测试 .gpg 文件的方式,它们实际上是使用 GPG 密钥加密的,而不是使用密码的对称加密:
:/tmp$ gpg -d duplicity-new-signatures.20220827T120243Z.to.20220828T010003Z.sigtar.gpg > x
gpg: encrypted with 4096-bit RSA key, ID xxxxxxxxxxxxxxxx, created 2022-05-27
"me <[email protected]>"
:/tmp$ file x
x: POSIX tar archive
duplicity 不知道您创建了无密码密钥。因此它问。只需按回车键提供一个空的就足够了。
如果你想重复不要要求提供
PASSHPHRASE
(参见duplicity 手册页),例如或者
--use-agent
让 gpg 明确使用它的代理来处理密码。希望有帮助,ede/duply.net