如何配置 gpg-agent 以便与 obnam 正确协同工作?

如何配置 gpg-agent 以便与 obnam 正确协同工作?

我正在尝试设置重复数据删除备份程序 obnam,以便它在远程服务器(通过 ssh 和 USB 硬盘驱动器的树莓派 B3)上备份加密块,但无法让它开始工作;在第一次调用时(当它想要将其添加<local_user>为客户端时),它会退出:

$ obnam backup ~/.obnam.conf
adding clientERROR: gpg: can't query passphrase in
batch mode gpg: decryption failed: secret key not available

(之后需要手动删除 obn​​am 的锁定文件,但那是另一个故事了。)
客户端是 Qubes-OS 中的 Fedora 18 VM,(希望)按照手册页正确配置了 gpg-agent,其中
~/.bashrc 包含:

GPG_TTY=$(tty)
export GPG_TTY
#
if [ -f "${HOME}/.gpg-agent-info" ]; then
  . "${HOME}/.gpg-agent-info"
  export GPG_AGENT_INFO
  export SSH_AUTH_SOCK
  export SSH_AGENT_PID
fi

并且
~/.bash_profile 包含:

eval $(gpg-agent --daemon --enable-ssh-support --write-env-file "${HOME}/.gpg-agent-info")

全部根据 gpg-agent 的 man 文件。当虚拟机重新启动时,我可以看到“它有效”,因为 .gpg-agent-info 文件实际上存在,变量(GPG_TTY、GPG_AGENT_INFO、SSH_AUTH_SOCK、SSH_AGENT_PID)已设置,并且它们被导出并可以回显到终端。

obnam 配置文件包含:

repository = sftp://<remote_user>@<rmeote_IP_address>/home/<remote_user>/backups/obnam-repository/
encrypt-with = APENHEUL

确保密钥 ID APENHEUL 的秘密密钥和公共密钥确实存在之后。
使用的程序版本是:

gpg-agent (GnuPG) 2.0.22
libgcrypt 1.5.3
gpg (GnuPG) 1.4.16
obnam --version: 1.5
OpenSSH_6.1p1, OpenSSL 1.0.1e-fips 2013 年 2 月 11 日

答案1

取消注释 .gnupg/gpg.conf 中的“use-agent”。尴尬却又真实……

相关内容