我对 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(搜索“密码”)