duplicity - gnupg - 没有密钥 - 没有提供密码

duplicity - gnupg - 没有密钥 - 没有提供密码

我对 duplicity 和 gpgnu 有一个问题。

环境(软件):

  • Ubuntu 20.04
  • gpg (GnuPG) 2.2.19 (来自软件包)
  • libgcrypt 1.8.5(从包安装)
  • duplicity 0.8.18(手动安装,因为 ubuntu 有 0.8.11)
  • pinentry-gtk2 (作为 ubuntu 包)
  • gnupg-agent(作为 ubuntu 包)

环境(GnuPG,duplicity):

  • 签名密钥
  • 加密密钥
  • GnuPG 配置文件 ( ~/.gnupg/.gpg.conf)
  • GNuPG-agent 配置文件 ( ~/.gnupg/gpg-agent.conf)
  • 用于备份的 bash 脚本

内容gpg配置文件

use-agent
pinentry-mode loopback

内容gpg-代理配置文件

pinentry-program /usr/bin/pinentry-gtk-2
allow-loopback-pinentry

环境文件夹

  • data(100 GB)
  • backup_data
  • test_data(5KB)
  • test_backup

内容bash 脚本用于备份

export PASSPHRASE=""
export SIGN_PASSPHRASE=ZZZZZZZZZ #(of course real one is written)
ENCRYPT_KEY=XXXXXXXXX #(of course real one is written)
SIGN_KEY=YYYYYYYYY #(of course real one is written)
SOURCE="/mnt/test_data"
TARGET="file:///mnt/test_backup"
duplicity --full-if-older-than 1M --encrypt-key ${ENCRYPT_KEY} --sign-key ${SIGN_KEY} ${SOURCE} ${TARGET} --gpg-options '--cipher-algo AES256'

有效的方法:

我可以创建文件夹的加密完整备份。我还可以不间断地test创建一个文件夹的加密完整备份。data

不起作用的是:

data我无法对文件夹进行增量备份。如果我中断备份,则无法继续进行完整备份。

错误信息指出:

GPGError: GPG Failed, see log below:
===== Begin GnuPG log =====
gpg: encrypted with 4096-bit RSA key, ID WWWWWWWWW, created 2021-04-03
"duplicity_enc (key for duplicity encryption)"
gpg: public key decryption failed: No passphrase given
gpg: decryption failed: No secret key
===== End GnuPG log =====

对应WWWWWWWWW于加密密钥的子密钥,而XXXXXXXXX对应于加密密钥的公钥。

我找到了以下链接,它们与我的问题很接近(我认为):

我无法解决这个问题。秒链接显示正在更新至 GPU 2.2.23。我尝试从头开始编译 GPU,安装了所需的库,但最终却陷入了困境symbol lookup error- 这是另一个主题/问题。

有人知道、有任何想法或提示为什么以及如何解决“未提供密码”问题吗?

答案1

您可以尝试将 PASSPHRASE 设置为 GPG 密钥密码(加密密码;Duplicity 需要解密清单文件才能恢复备份)...另外,请确保您拥有用于加密的私钥。

您不需要私钥来进行完整备份,只需要公钥即可。但要解密,您需要私钥及其密码。

这对我有帮助,也可能对你有帮助:https://www.digitalocean.com/community/tutorials/how-to-use-duplicity-with-gpg-to-securely-automate-backups-on-ubuntu(搜索“密码”)

相关内容