Автоматическая подпись пакетов Acadepro с помощью gpg-agent
Для моего репозитория SolydXK я хотел бы добавить несколько пакетов, доступных в Debian stretch-backports.
Я успешно настроил файлы conf / distribution, conf / updates и FilterList, и следующая команда успешно выполняется при входе на сервер:
reprepro -b /path_to_repository_basedir update
При добавлении файлов в репозиторий я правильно должен заполнить парольную фразу gpg, чтобы подписать файлы. Во время сеанса я должен сделать это только один раз.
Теперь я попытался сделать подпись без присмотра, создав этот скрипт, который вызывается из моего.bash_profile:
#!/bin/sh
OURKEY=ABCDEFGH
PASSPHRASE=my_passphrase
PIDOF=`pidof gpg-agent`
RETVAL=$?
# Decide wether to start gpg-agent daemon.
if [ "$RETVAL" -eq 1 ]; then
echo "Starting gpg-agent daemon."
eval `gpg-agent --allow-preset-passphrase --allow-mark-trusted --default-cache-ttl-ssh 4294967295 --default-cache-ttl 4294967295 --max-cache-ttl 4294967295 --daemon --enable-ssh-support --write-env-file "${HOME}/.gpg-agent-info"`
else
echo "Daemon gpg-agent already running."
fi
if [ -f "${HOME}/.gpg-agent-info" ]; then
. "${HOME}/.gpg-agent-info"
export GPG_AGENT_INFO
export SSH_AUTH_SOCK
export SSH_AGENT_PID
# Create necessary symbolic link
cp -fs `echo $GPG_AGENT_INFO | cut -d':' -f 1` "${HOME}/.gnupg/"
fi
# Default trust our own key
rm ~/.gnupg/trustlist.txt
for FP in $(gpg2 --fingerprint --with-colons --fingerprint $OURKEY | grep ^fpr | cut -d':' -f 10); do
echo "$FP S" >> ~/.gnupg/trustlist.txt
echo $PASSPHRASE | /usr/lib/gnupg2/gpg-preset-passphrase --preset $FP
done
# Set GPG TTY
export GPG_TTY=$(tty)
Я проверил отпечатки пальцев (он же keygrip, но эта версия gpgsm не знает опцию --with-keygrip), и все вроде бы в порядке. Однако, когда задание cron запускает указанную выше команду обновления, в сообщении об ошибке указывается, что пароль неверен.
Сервер работает на Debian old-squeeze (я знаю, я должен что-то с этим сделать, но это другая проблема), и это может быть большой проблемой. Вот некоторая информация о версии:
cat /etc/debian_version
6.0.10
uname -r
3.14.52-vs2.3.6.15-1
gpg (GnuPG) 1.4.10
gpg (GnuPG) 2.0.14
gpgsm (GnuPG) 2.0.14
gpg-agent (GnuPG) 2.0.14
Итак, есть ли здесь кто-то, кто имеет некоторый опыт автоматической подписи пакетов с помощью gpg-agent и может объяснить мне, что я делаю неправильно?