为什么即使 .gpg 文件使用 GPG 密钥加密,duplicity 仍要求输入密码进行解密?

为什么即使 .gpg 文件使用 GPG 密钥加密,duplicity 仍要求输入密码进行解密?

我使用以下命令使用 duplicity 创建了一个 GPG 加密备份。当我想恢复文件时,duplicity 会要求输入密码进行解密。知道为什么吗?我使用 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

答案1

duplicity 不知道您创建了一个无密码密钥。因此它会询问。只需按回车键提供一个空的密钥就足够了。

如果你想欺骗别人,不要要求提供

PASSHPHRASE=''

或者

  • 设置选项--use-agent让 gpg 明确使用其代理来处理密码。

希望有所帮助,ede/duply.net

相关内容