Enigmail не может связаться с gpg-agent


10

Обновить

Начиная с Ubuntu 16.04, плагин работает, как и ожидалось, и нет необходимости понижать версию, как предложено в принятом ответе. Вопрос был применим к Ubuntu 15.04 и, может быть , 15.10.


Оригинальный пост

Я использую Thunderbird + Enigmail в течение многих лет. В настоящее время я использую Thunderbird 38.5.1, Enigmail версии 1.9 (20160223-1641) и GPG 2.0.26 на своем рабочем ПК (Ubuntu 15.04 64-bit, с Gnome Shell).

Несколько дней назад, после 1 года работы, Enigmail неожиданно начинал жаловаться на следующую ошибку, когда я пытаюсь отправить подписанное или зашифрованное письмо:

GnuPG сообщил об ошибке в связи с gpg-agent (компонент GnuPG).

Это ошибка настройки или конфигурации системы, которая мешает правильной работе Enigmail и не может быть исправлена ​​автоматически.

Мы настоятельно рекомендуем вам обратиться на наш веб-сайт поддержки по адресу https://enigmail.net/faq .

Я прошел страницу часто задаваемых вопросов и попробовал несколько вещей, но я еще не смог решить проблему.

Команда pinentryработает нормально и показывает pinentry-qt4окно (т.е. не текстовое):

pinentry <<EOT
SETDESC Hello World
CONFIRM
EOT

Однако gpg-agent-connectкоманда не выполняется:

gpg-connect-agent <<EOT
heredoc> GETINFO version
heredoc> EOT
ERR 280 not implemented

Я попытался отключить связку ключей gnome, как это было предложено, но это тоже не работает. (Да, я перезапустил промежуточную систему, но я также хочу оставить брелок включенным как обычно.) Я также попытался экспортировать и повторно импортировать мои настройки Enigmail (то есть переименовать $HOME/.gnupg/во что-то еще в это время), но это сделало тоже не работает.

Как ни странно, когда я запускаю gpg-agentвручную из оболочки, а затем запускаю Thunderbird, кажется, что он связывается с gpg-agent, как показано ниже:

gpg-agent --debug-level expert --use-standard-socket --daemon /bin/sh
gpg-agent[6469]: enabled debug flags: command cache assuan
gpg-agent[6469]: directory `/home/ray/.gnupg' created
gpg-agent[6469]: directory `/home/ray/.gnupg/private-keys-v1.d' created
gpg-agent[6469]: listening on socket `/home/ray/.gnupg/S.gpg-agent'
gpg-agent[6470]: gpg-agent (GnuPG) 2.0.26 started
#
# Thunderbird started at this point
#
$ gpg-agent[6470]: handler 0x558fd8c23cf0 for fd 7 started
gpg-agent[6470]: chan_7 -> OK Pleased to meet you, process 6470
gpg-agent[6470]: chan_6 <- OK Pleased to meet you, process 6470
gpg-agent[6470]: chan_6 -> GETINFO pid
gpg-agent[6470]: chan_7 <- GETINFO pid
gpg-agent[6470]: chan_7 -> D 6470
gpg-agent[6470]: chan_7 -> OK
gpg-agent[6470]: chan_6 <- D 6470
gpg-agent[6470]: chan_6 <- OK
gpg-agent[6470]: chan_6 -> BYE
gpg-agent[6470]: chan_7 <- BYE
gpg-agent[6470]: chan_7 -> OK closing connection
gpg-agent[6470]: handler 0x558fd8c23cf0 for fd 7 terminated

Однако я не вижу никаких выходных данных, если пытаюсь отправить подписанное и / или зашифрованное электронное письмо. Это отображается только при запуске Thunderbird.

Кроме того, я добавил /usr/bin/gpg-agent --daemonкоманду в качестве запускаемого приложения на панели «Приложения запуска Gnome», но это не имело никакого значения.

Я думаю, что я применил регулярное обновление около 2/23, но проблема не стала видимой, пока система не была перезапущена 2/24 на этой неделе. К сожалению, я не помню, какие пакеты были обновлены, но их было не так много. (Я обычно держу систему обновленной.)

Обратите внимание, что это работало без проблем в течение лет или около того, примерно до 2 дней назад. (Я также использовал эту настройку на своем домашнем настольном ПК в течение 4 лет + без проблем, но мой рабочий ПК - ноутбук, и Ubuntu иногда работает там не так хорошо по неизвестным причинам ...)

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

В: Как я могу устранить эту ошибку связи, которая мешает мне отправлять подписанные / зашифрованные электронные письма?

Чтобы считать проблему исправленной, необходимо вернуться к нормальной работе без сообщений об ошибках и т. Д.

Заранее благодарим за любую помощь, которую вы можете оказать, чтобы помочь решить эту проблему.


Пока я писал этот пост, я заметил следующее сообщение от gpg-agentдемона в терминале:

# ...from previous output above
gpg-agent[6470]: chan_7 -> OK closing connection
gpg-agent[6470]: handler 0x558fd8c23cf0 for fd 7 terminated
#
# new/unexpected error message from agent
#
gpg-agent[6470]: can't connect my own socket: IPC connect call failed
gpg-agent[6470]: this process is useless - shutting down
gpg-agent[6470]: gpg-agent (GnuPG) 2.0.26 stopped

Это обнаружилось неожиданно, поскольку я не просил Thunderbird сделать что-то особенно в то же время.


Я обновил с 15.04 -> 15.10 -> 16.04 и могу подтвердить, что Thunderbird 38.6 + Enigmail 1.9.1 работают нормально для меня. Вывод команд также должен быть таким:

➜  ~ pinentry <<EOT
heredoc> SETDESC Hello World
heredoc> CONFIRM
heredoc> EOT
OK Pleased to meet you
OK
OK
➜  ~ gpg-connect-agent <<EOT
heredoc> GETINFO version
heredoc> EOT
D 2.1.11
OK

Возможно, связано: sourceforge.net/p/enigmail/bugs/575
— Socob

@Socob: Где бы вы проверить, если ERROR check_hijackна самом деле испускается? FAQ кажется устаревшим, и я не уверен, где опция просмотра журнала отладки Enigmail больше.
— code_dredd

К сожалению, я не уверен, я только что проверил систему отслеживания ошибок Enigmail и увидел эту проблему в самом верху, которая, похоже, может привести к этой проблеме. Кроме того, у меня та же проблема, что и у вас (Enigmail выдает это сообщение об ошибке после долгой работы без проблем). Я постараюсь избавиться от этого, когда у меня будет время.
— Сокоб

@Socob: звучит хорошо. Это не первый раз, когда у меня была эта проблема. Когда я впервые столкнулся с этой проблемой, дата замены моего компьютера была довольно близка, поэтому я проигнорировал ее, потратив несколько часов, пытаясь ее исправить. Я не могу игнорировать это на этот раз, и я снова провел несколько часов. Я буду пытаться время от времени. Надеюсь, тебе повезло больше, чем мне.
— code_dredd

1
Та же проблема здесь. Enigmail > Debugging Options > View Logпоказывает WARNING: The GNOME keyring manager hijacked the GnuPG agent. Так что я уверен, что GnomeKeyring связан. echo | gpg2 --signвыявляет проблему на CLI. К сожалению, отключение gnome-keyring (как единственного обходного пути) для меня не вариант.
— meisterluk

Ответы:


5

Хотя ответ этой команды показывает, как решить эту проблему в системе Debian, подход тот же:

Откат.

Поскольку Enigmail выпустил версию 1.9 23 февраля и проблемы начались с того дня, единственными тремя решениями являются:

  1. Дождитесь, пока Enigmail разберутся и установит их обновление в 1.9.x и прекратит использовать шифрование, пока они не предоставят обновление
  2. Покопайтесь и решите проблему самостоятельно (что не каждый способен сделать из-за ограниченного знания базовой архитектуры программного обеспечения)
  3. Понизьте версию до 1.8.2, затем подождите, пока Enigmail все уладит, и обновите до версии 1.9.x, которая устраняет ошибку, возникшую с 1.9.

Я не могу помочь с 1 или 2, но с номером 3:

  • Загрузите Enigmail 1.8.2 , последнюю версию до 1.9, в которой не было ошибки
  • Удалите Enigmail 1.9 через меню дополнений Thunderbird
  • Из этого же меню вручную установите загруженный файл 1.8.2, нажав кнопку настройки дополнений в верхней части страницы дополнений Thunderbird, слева от поля ввода текста поиска.
  • Перезапустите Thunderbird

Теперь он должен работать так же, как и до обновления Enigmail 1.9.

Я бы предложил отключить автоматические обновления для Enigmail, пока эта ошибка, представленная в 1.9, не будет устранена. Вы можете отключить их, нажав на ссылку «еще», которая есть в тексте описания расширения Enigmail на странице дополнений Thunderbird.


Я думаю, что вы имеете в виду «я не могу помочь с 1 или 2 , но с номером 3 ».
— Socob

1
@Bran: обратите внимание, что после переключения версий Enigmail вы можете получить сообщение об ошибке о том, что ваш ключ не найден или срок его действия истек, даже после перезапуска Thunderbird. Я действительно должен был полностью перезагрузить свой компьютер, чтобы обойти это. Что бы там ни было, это кажется единственным практическим решением в настоящее время. Вместо того, чтобы ломать свое программное обеспечение, они должны были дать пользователю возможность выбрать, что делать (например, разрешить взаимодействие через gnome keyring)
— code_dredd

1
Актуальное сообщение:Enigmail Key ... not found or not valid. The (sub-)key might have expired.
— code_dredd

Ну, так как один из сопровождающих создал отчет об ошибке очень скоро после релиза, это не было преднамеренным изменением. Странно, но рассматриваемый отчет об ошибке теперь удален ...
— Socob

Подход @thisthatother работ для убунта тоже см packages.ubuntu.com/search?keywords=enigmail ... Ubuntu предоставляет Enigmail как apckage с версией 1.8.2 в настоящее время для всех версий Ubuntu.
— Матиас

5

Большое спасибо за подробный вклад каждого в этот вопрос.

У меня похожая проблема, поскольку 25 февраля моя система обновилась до Enigmail 1.9. Я исправил проблему, удалив Enigmail 1.9 и переключившись на 1.8.

Для меня это было легко, так как я использую Debian 8, и я просто удалил Enigmail в качестве отдельного дополнения и заменил его на репозиторий главного репо Debian Enigmail (который, как показывают некоторые исследования, это версия 1.8.2 ). Shrug. После этого изменения проблем не было. Я надеюсь, что это будет полезно для других, и еще раз спасибо за то, что поставили меня на правильный путь решения проблемы.


спасибо предыдущим постерам за подробную информацию, которая помогла мне найти решение для моего конкретного случая. я надеюсь, что это
— сработает и

Интересная находка. Тем не менее, я не использую Debian, и хотя решение для Debian может работать только для нескольких, предпочтительнее иметь более общее решение.
— code_dredd

1
Ну, это должно сработать в любом случае - нужно просто получить в свои руки более старую версию Enigmail (я не думаю, что должны быть какие-либо проблемы с совместимостью с файлами .xpi).
— Socob

Этот обходной путь исправляет проблему и для меня. С тех пор проблем нет.
— Матиас

2

Нет необходимости понижать плагин enigmail:

  • Пункт списка
  • Ubuntu 16.04
  • Thunderbird 45.2.0
  • Enigmail 1.9.5
  • gpg (GnuPG) 1.4.20

В терминале:

killall gpg-agent
export GPG_TTY=$(tty)
gpg-agent --daemon /bin/bash

(--use-standard-socket устарел)

Не нужно перезагружать Thunderbird.


Правда. Я заявил, что нет необходимости понижать рейтинг в качестве комментария, но я обновил пост, чтобы сделать его очень заметным.
— code_dredd

1

У меня была та же проблема в том смысле, что Enigmail внезапно выдавал это сообщение об ошибке при каждой операции после многих месяцев работы. Отключение компонента GPG Password Agent в GNOME Keyring решило эту проблему для меня - Enigmail затем использует «оригинал» gpg-agentс программой pinentry (вместо запроса парольной фразы GNOME Keyring), и все работает без проблем.

Я отключил компонент пароля GNOME Keyring GPG с помощью программы Ubuntu «Startup Applications» по умолчанию:

Отключение агента пароля GPG (из набора ключей GNOME) с помощью «Автозагрузка приложений»

Вы сказали, что пытались отключить GNOME Keyring и использовали GNOME Shell. Возможно, это не сработало правильно? Вы можете попробовать выполнить те же действия, что и у меня (Startup Applications / Unity), и посмотреть, изменит ли это что-нибудь.

Похоже, что эта проблема была вызвана недавним обновлением в Enigmail (версия 1.9 была выпущена 23 февраля 2016 г.), так как ранее его можно было использовать с GNOME Keyring без генерации этой ошибки. Тот факт, что отключение GNOME Keyring решает проблему (и время), позволяет предположить, что ошибка Enigmail # 575 связана.


Я был в состоянии копать немного больше в это вчера. Я обнаружил, что ERROR hijackсообщение появляется в журнале. Я пытался отключить ту же опцию, что у вас там уже была, но проблема в том, что когда я это сделал, то с ним никогда не разговаривать, gpg-agentпотому что pinentryзапрос на парольную фразу никогда не появляется (т.е. я получаю другое сообщение об ошибке ранее на любую попытку общения с gpg-agent). Я сделаю еще один шаг, когда завтра вернусь на работу.
— code_dredd

Ссылка на ошибку Enigmail не работает ...
— xuhdev

@xuhdev Да, ошибка была удалена вскоре после создания. Я не знаю почему, хотя.
— Socob
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.