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

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

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

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

gpg: decryption failed: No secret key

EDIT:

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

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

2 ответов


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

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

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

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

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

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

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

а может быть

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

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

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


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