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.