GNUPG / GPG / S3 / Duplicity gpg:没有默认密钥:密钥不可用

GNUPG / GPG / S3 / Duplicity gpg:没有默认密钥:密钥不可用

我正在使用 S3/duplicity备份脚本,保存我的文件。它一直运行良好,直到我添加了第二个 gpg 密钥。然后一切都变得一团糟。我尝试处理两个密钥,然后删除了第二个密钥。然后我完全删除/清除了 gpg 并重新开始。

我创建了一个新密钥,这是我得到的响应。

GPGError: GPG Failed, see log below:
===== Begin GnuPG log =====
gpg: no default secret key: secret key not available
gpg: [stdin]: sign+encrypt failed: secret key not available
===== End GnuPG log =====

` 这是我的备份脚本(但我不认为这是问题所在)

#!/bin/bash

# Make GPG explicitly aware of our private key,
# since we'll be running this via cron as root


HOME="/" SOURCE="/" TARGET=s3+http://xxxx/xxxxx/
LOGFILE=/home/bege/.duplicity/desktop.log export HOME=$HOME export
SOURCE=$SOURCE export TARGET=$TARGET export LOGFILE=$LOGFILE

# Load our credentials source "/home/bege/Desktop/.credentials.conf"

export PASSPHRASE export AWS_ACCESS_KEY_ID export
AWS_SECRET_ACCESS_KEY

GPG_KEY='7E4B6B9B'

duplicity \
    --verbosity notice \
    --s3-use-new-style \
    --volsize=1000 \
    --encrypt-key="$GPG_KEY" \
    --sign-key="$GPG_KEY" \
    --full-if-older-than 7D \
    --asynchronous-upload \
    --log-file "/home/bege/.duplicity/log.log" \
    --include=/home/bege/Desktop/charts \
    --exclude=/** \
    --progress \
    $SOURCE \
    $TARGET > $LOGFILE

unset PASSPHRASE unset AWS_ACCESS_KEY_ID unset AWS_SECRET_ACCESS_KEY

以下是我的钥匙的详细信息:

/home/bege/.gnupg/pubring.gpg
-----------------------------
pub   2048R/7E4B6B9B 2015-07-15
uid                  Chad H <[email protected]>

/home/bege/.gnupg/secring.gpg
-----------------------------
sec   2048R/7E4B6B9B 2015-07-15
uid                  Chad H <[email protected]>

我还修改了文件conf,使该键成为默认键。我花了太多时间在这上面,但不知为何我却痴迷其中,我已经束手无策了,在此先谢谢大家了。

答案1

感谢NIIBE的帮助,问题是:

我再次重新阅读了您的原始帖子,发现您在脚本中重新定义了环境变量“HOME”,这是导致问题的原因。

请在您的脚本中添加两行:

GNUPGHOME=/home/bege/.gnupg
export GNUPGHOME

然后,请尝试使用新脚本。设置后GNUPGHOME,gpg 命令将访问该目录。

(请注意,还需要加密的秘密子密钥。)

希望有一天这能为某些人节省一些时间。

相关内容