Подтвердить что ты не робот

Дешифрование gpg не выполняется без секретной ошибки ключа

У меня есть файл gpg.key, который используется в качестве ключевой фразы для дешифрования файла .dat.pgp. Зашифрованный файл .data.pgp успешно дешифруется на одном сервере с таким же файлом .key, используя следующую команду

cat xxx_gpg.key | /usr/bin/gpg --batch --quiet -o xxx.dat --passphrase-fd O -d xxx.dat.pgp

Но, когда я перемещаю один и тот же ключ на другой сервер xxx_gpg.key и запускаю ту же самую команду, я получаю следующую ошибку:

gpg: decryption failed: No secret key

ИЗМЕНИТЬ:

Я обнаружил, что gpg --list-secret-keys возвращает некоторые данные на сервере, где он работает, но никаких результатов не возвращается для другого сервера.

Как мы можем настроить секретный ключ

4b9b3361

Ответ 1

Похоже, что секретный ключ не находится на другом компьютере, поэтому даже с правой фразой (считанной из файла) это не сработает.

Эти параметры должны работать,

  • Либо скопируйте брелки (возможно, требуется только секретная ключевая строка, но общедоступное кольцо является общедоступным) на другую машину.
  • Или экспортируйте секретный ключ, а затем импортируйте его на другой компьютер.

Несколько полезных вариантов поиска из man gpg:

--export
Либо экспортируйте все ключи из всех ключей (стандартные брелоки и те               зарегистрированный через опцию --keyring), или если задано хотя бы одно имя,               те из данного имени. Новый keyring записывается в STDOUT или               файл с опцией --output. Используйте вместе с --armor для               mail эти ключи.

--export-secret-keys
             То же, что и --export, но вместо этого экспортирует секретные ключи.

--import
--fast-import
             Импортировать/слить ключи. Это добавляет заданные ключи в брелок. Быстро               версия в настоящее время является просто синонимом.

И, может быть,

--keyring file
             Добавьте файл в текущий список ключей. Если файл начинается с тильды               и косой чертой, они заменяются справочником $HOME. Если файл-               имя не содержит косой черты, предполагается, что он находится в доме GnuPG               directory ( "~/.gnupg", если --homedir или $GNUPGHOME не используется).

Обратите внимание, что это добавляет привязку к текущему списку. Если намерение               для использования только указанной ключевой строки используйте --keyring вместе с --no-default-keyring.

--secret-keyring file
             То же, что и --keyring, но для секретных ключей.

Ответ 2

Я просто столкнулся с этой проблемой, в CLG gpg в Arch Linux. Мне нужно было убить существующий процесс "gpg-agent", тогда все было в порядке (новый автозапуск gpg-agent;...).