
Я скопировал свои пары ключей PGP на недавно установленный сервер Ubuntu. Но они не работают: я получаю ошибку «операция отменена» при попытке расшифровать файл:
$ echo TEST | gpg -e -a -r [email protected] > test.gpg
$ gpg -d < test.gpg
gpg: encrypted with 1024-bit ELG key, ID CBABC188BB23CD11, created 2003-05-22
"Emanuele Paolini <[email protected]>"
gpg: public key decryption failed: Operation cancelled
gpg: decryption failed: No secret key
$ gpg --list-secret-keys
/home/paolini/.gnupg/pubring.gpg
--------------------------------
sec dsa1024 2003-05-22 [SC]
848EA2CE420E06FF22E88DED7F0D73E98288DA05
uid [ultimate] Emanuele Paolini <[email protected]>
uid [ultimate] Emanuele Paolini <[email protected]>
uid [ultimate] Emanuele Paolini <[email protected]>
uid [ultimate] Emanuele Paolini <[email protected]>
uid [ultimate] Emanuele Paolini <[email protected]>
ssb elg1024 2003-05-22 [E]
Те же команды прекрасно работают на моем персональном компьютере.
- Может быть, возникла проблема при копировании ключей?
- Может быть, проблема в SSH-подключении?
обновлять Проблема связана с ssh-подключением. На самом деле, если я пробую команду с консоли сервера, она работает правильно (открывает окно для запроса пароля)... Так что это как-то связано с pinentry. Мое ssh-подключение имело включенный X и работало.
обновление 2
Я попробовал изменить альтернативу pinentry, как предложил @Olivier. Я могу выбрать только между pinentry-gnome3
(по умолчанию) и pinentry-cursers
. Я выбрал последний и, к сожалению, получил ошибку "Неподходящий ioctl для устройства"...
решение1
Решение:
sudo update-alternatives --config pinentry
Выберите альтернативный pinentry-curses
вариант pinentry-tty
.