Я настраиваю резервное копирование с локального компьютера на удаленный сервер.
Я сгенерировал ключи gpg на локальной машине и запустил тестовую резервную копию с:
PASSPHRASE="MyGPGPassphrase" duplicity --encrypt-key KeyID test scp://user@server/path
Резервное копирование работает нормально, на сервере создано три файла.
Моя проблема в том, что я не могу заставить восстановление работать.
Я удалил тестовый файл на локальной машине и попытался восстановить его с помощью:
PASSPHRASE="MyGPGPassphrase" duplicity --encrypt-key KeyID scp://user@server/path test
Я получаю следующую ошибку:
Synchronizing remote metadata to local cache...
Copying duplicity-full-signatures.20151011T011134Z.sigtar.gpg to local cache.
GPGError: GPG Failed, see log below:
===== Begin GnuPG log =====
gpg: encrypted with 2048-bit RSA key, ID KeyID(of ssb), created 2015-10-11
"Name <email>"
gpg: public key decryption failed: Inappropriate ioctl for device
gpg: decryption failed: No secret key
===== End GnuPG log =====
Я экспортировал ключи gpg на локальную машину:
gpg --export-secret-key KeyID > secret.key
gpg --armor --export KeyID > public.key
И импортировал их на сервер с помощью:
gpg --import secret.key
gpg --import public.key
Есть ли что-то еще, что нужно сделать, чтобы восстановление работало?
Редактировать:
Если я выполняю команду без PASSPHRASE env duplicity --encrypt-key Key D test scp://user@host/path
резервная копия создается в любом случае без запроса ключевой фразы.
Выходные данные file duplicity-full.20151011T115714Z.vol1.difftar.gpg
другой KeyID, чем тот, который указан в --encrypt-key. У меня нет указанного ключа в моей связке ключей.