2015-02-04 2 views
12

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

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 

EDIT:

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

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

+0

Точная версия gpg на каждой машине? – Xen2050

+0

такой же версия gpg на обоих местах - 2.0.14 – fortm

+0

hmmm. По-видимому, '--passphrase-fd' только читает« первую строку », кажутся ли они одинаковыми в каждой системе? Может быть, другая оболочка конвертирует или трубит их по-другому? Просто увидел случай, когда обратная косая черта была «съедена», прочитав ... – Xen2050

ответ

10

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

Эти варианты должны работать, чтобы

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

несколько полезных опций, глядя из man gpg:

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

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

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

И возможно

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

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

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

+1

Краткая версия: # Импорт ключей с другого компьютера: gpg --export $ {ID}> public.key gpg --export-secret-key $ {ID}> private.key # Скопируйте эти файлы на другую машину и там gpg --import public.key gpg --import private.key # from https://unix.stackexchange.com/questions/184947/how-to-import-secret-gpg-key-copied-from -one-machine-to-another –

+1

Выше было то, что я пробовал, и что привело меня к сообщению об ошибке, опубликованному OP. – aioobe

+0

@aioobe Правильный (секретный) ключ не должен добираться до или видеть другой gpg. Вы имеете в виду, что вы пробовали команды Ярослава Никитенко? Я не тестировал их, но они * выглядят хорошо, если '$ ID' является правильным. Вместо этого я попробую «-output», но не должен иметь значения. Экспорт секретного ключа, а затем его импорт * должен * работать, он отображается в '--list-keys' (-k или -K)? Или копирование всего файла keyring, а затем с помощью '--keyring' определенно должно ... У меня возникли проблемы с тем, что gpg-agent не читал кодовые фразы раньше даже с' --passphrase-file' или заменял '--quiet '&' --batch' с некоторыми '-v' ' – Xen2050

13

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

+1

Это была моя проблема, и исправить - я использовал gpg какое-то время без агента, по-видимому, теперь он включен по умолчанию? Возможно, в Ubuntu 17.04, который я сейчас (случайно) работает. :-) Думаю, это все еще багги. – moodboom

+3

Такая же проблема и исправление для меня на macOS. Предыдущее дешифрование прошло как-то неправильно, что как-то вызвало вышеупомянутые ошибки. – SamHH

+1

Удивительно !!! Также исправлены мои проблемы, спасибо – timothyclifford

Смежные вопросы