Enigmail không thể giao tiếp với gpg-agent


10

Cập nhật

Kể từ Ubuntu 16.04, trình cắm hoạt động như mong đợi và không cần hạ cấp như đề xuất trong câu trả lời được chấp nhận. Câu hỏi được áp dụng cho Ubuntu 15.04 và, có thể , 15.10.


Bài gốc

Tôi đã sử dụng Thunderbird + Enigmail trong nhiều năm. Tôi hiện đang sử dụng Thunderbird 38.5.1, Enigmail phiên bản 1.9 (20160223-1641) và GPG 2.0.26 trong PC làm việc của tôi (Ubuntu 15.04 64-bit, w / Gnome Shell).

Vài ngày trước, sau 1yr + hoạt động, Enigmail đột nhiên bắt đầu phàn nàn với lỗi sau mỗi khi tôi cố gắng gửi email đã ký hoặc mã hóa:

GnuPG đã báo cáo lỗi trong giao tiếp với gpg-agent (một thành phần của GnuPG).

Đây là lỗi thiết lập hệ thống hoặc lỗi cấu hình, ngăn Enigmail hoạt động bình thường và không thể tự động sửa.

Chúng tôi thực sự khuyên bạn nên tham khảo trang web hỗ trợ của chúng tôi tại https://enigmail.net/faq .

Tôi đã đi qua trang FAQ và thử một vài thứ, nhưng tôi vẫn chưa thể khắc phục vấn đề.

Các pinentrylệnh hoạt động tốt, và hiển thị các pinentry-qt4cửa sổ (tức là không dựa trên văn bản):

pinentry <<EOT
SETDESC Hello World
CONFIRM
EOT

Tuy nhiên, gpg-agent-connectlệnh thất bại:

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

Tôi đã thử vô hiệu hóa khóa gnome như được đề xuất, nhưng nó cũng không hoạt động. (Vâng, tôi đã khởi động lại hệ thống ở giữa, nhưng tôi cũng muốn giữ keyring kích hoạt như bình thường.) Tôi cũng đã cố gắng xuất khẩu và tái nhập khẩu các thiết lập Enigmail tôi (tức là đổi tên $HOME/.gnupg/để cái gì khác trong khi chờ đợi), nhưng điều đó đã làm cũng không hoạt động.

Thật kỳ lạ, khi tôi khởi động gpg-agentthủ công từ trình bao, rồi khởi động Thunderbird, nó dường như đang giao tiếp với gpg-agent, như hình dưới đây:

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

Mặc dù vậy, tôi không thấy bất kỳ đầu ra nào nếu tôi cố gửi một email đã ký và / hoặc được mã hóa. Điều này chỉ hiển thị khi Thunderbird được bắt đầu.

Ngoài ra, tôi đã thêm /usr/bin/gpg-agent --daemonlệnh dưới dạng một ứng dụng khởi động trong bảng điều khiển Ứng dụng khởi động Gnome, nhưng nó không có sự khác biệt.

Tôi nghĩ rằng tôi đã áp dụng một bản cập nhật thường xuyên vào khoảng 23/2, nhưng vấn đề không thể thấy được cho đến khi hệ thống được khởi động lại vào 24/24 trong tuần này. Thật không may, tôi không nhớ gói nào đã được cập nhật, nhưng không có nhiều gói. (Tôi thường giữ cho hệ thống được cập nhật.)

Xin lưu ý rằng điều này đã hoạt động với các vấn đề trong nhiều năm hoặc lâu hơn, cho đến khoảng 2 ngày trước. (Tôi cũng đã sử dụng thiết lập này trong máy tính để bàn tại nhà cho 4yrs + nhưng không có vấn đề gì, nhưng PC làm việc của tôi là máy tính xách tay và đôi khi Ubuntu không hoạt động tốt ở đó vì lý do không rõ ...)

Khi tôi cố gắng mở các email được mã hóa mà tôi đã nhận được (hoặc các bản nháp đã lưu, cũng được mã hóa), tôi nhận được thông báo lỗi tương tự gpg-agent, nhưng nó giải mã thông báo email sau khi hỏi tôi cụm từ khóa riêng tư của tôi.

H: Làm cách nào tôi có thể giải quyết lỗi giao tiếp này ngăn tôi gửi email đã ký / mã hóa?

Để xem xét vấn đề đã được khắc phục, tình huống cần quay trở lại hoạt động bình thường mà không có thông báo lỗi, v.v.

Cảm ơn trước cho bất kỳ trợ giúp mà bạn có thể cung cấp để giúp khắc phục vấn đề này.


Trong khi tôi đang viết bài này, tôi nhận thấy thông báo sau từ gpg-agentdaemon trong terminal:

# ...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

Điều này xuất hiện bất ngờ, vì tôi đã không yêu cầu Thunderbird làm bất cứ điều gì cụ thể trong thời gian đó.


Tôi đã cập nhật từ 15.04 -> 15.10 -> 16.04 và có thể xác nhận rằng Thunderbird 38.6 + Enigmail 1.9.1 đang hoạt động bình thường đối với tôi. Đầu ra của các lệnh cũng là những gì chúng nên là:

➜  ~ 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


@Socob: Bạn sẽ kiểm tra xem ERROR check_hijackcó thực sự được phát ra không? Câu hỏi thường gặp xuất hiện đã lỗi thời và tôi không chắc tùy chọn xem nhật ký gỡ lỗi của Enigmail ở đâu nữa.
code_dredd

Thật không may, tôi không chắc chắn, tôi chỉ kiểm tra trình theo dõi lỗi của Enigmail và thấy vấn đề đó ở trên cùng có vẻ như nó có thể dẫn đến vấn đề này. Bên cạnh đó, tôi cũng gặp vấn đề tương tự như bạn (Enigmail đưa ra thông báo lỗi này sau khi làm việc mà không gặp vấn đề gì trong một thời gian rất dài). Tôi sẽ cố gắng tìm cách loại bỏ điều đó khi tôi có thời gian.
Socob

@Socob: Nghe hay đấy. Đây không phải là lần đầu tiên tôi gặp vấn đề này. Lần đầu tiên tôi gặp phải vấn đề này, ngày thay thế PC của tôi khá gần, vì vậy tôi đã bỏ qua nó sau khi lãng phí vài giờ để cố gắng khắc phục nó. Tôi không thể bỏ qua lần này và tôi đã dành vài giờ nữa. Thỉnh thoảng tôi sẽ cố gắng. Hy vọng bạn có may mắn hơn tôi đã làm.
code_dredd

1
Cùng một vấn đề ở đây. Enigmail > Debugging Options > View Logtiết lộ WARNING: The GNOME keyring manager hijacked the GnuPG agent. Vì vậy, tôi khá chắc chắn GnomeKeyring có liên quan. echo | gpg2 --signtiết lộ vấn đề trên CLI. Đáng buồn là vô hiệu hóa khóa gnome (như cách giải quyết duy nhất) không phải là một lựa chọn cho tôi.
meisterluk

Câu trả lời:


5

Mặc dù câu trả lời của câu trả lời chỉ cho thấy cách giải quyết nó trên hệ thống Debian, nhưng cách tiếp cận là như sau:

Hạ cấp.

Kể từ khi Enigmail phát hành phiên bản 1.9 vào ngày 23 tháng 2 và các vấn đề bắt đầu từ ngày đó, ba giải pháp duy nhất là:

  1. Đợi Enigmail sắp xếp mọi thứ và cài đặt bản cập nhật của họ lên 1.9.x và ngừng sử dụng mã hóa cho đến khi họ cung cấp bản cập nhật
  2. Tự tìm hiểu và giải quyết vấn đề (điều mà không phải ai cũng có khả năng thực hiện do kiến ​​thức hạn chế về kiến ​​trúc phần mềm cơ bản)
  3. Hạ cấp xuống 1.8.2, sau đó đợi Enigmail sắp xếp mọi thứ và nâng cấp lên 1.9.x để giải quyết lỗi xảy ra với 1.9.

Tôi không thể giúp với 1 hoặc 2, nhưng với số 3:

  • Tải xuống Enigmail 1.8.2 , phiên bản tiền 1.9 mới nhất không gặp lỗi
  • Gỡ cài đặt Enigmail 1.9 thông qua menu Tiện ích Thunderbird
  • Từ trong cùng menu đó, cài đặt thủ công tệp 1.8.2 đã tải xuống bằng cách nhấp vào nút cấu hình Tiện ích ở đầu trang Tiện ích Thunderbird, bên trái từ trường nhập văn bản tìm kiếm
  • Khởi động lại Thunderbird

Bây giờ nó sẽ hoạt động như trước khi cập nhật lên Enigmail 1.9.

Tôi sẽ đề nghị tắt cập nhật tự động cho Enigmail cho đến khi lỗi này được giới thiệu trong 1.9 đã được sắp xếp. Bạn có thể vô hiệu hóa chúng bằng cách nhấp vào Liên kết "thêm" trong văn bản mô tả của tiện ích mở rộng Enigmail trong trang Tiện ích Thunderbird.


Tôi nghĩ bạn có nghĩa là tôi không thể giúp với 1 hoặc 2 , nhưng với số 3 .
Socob

1
@Bran: Lưu ý rằng sau khi chuyển đổi các phiên bản Enigmail, bạn có thể nhận được thông báo lỗi về khóa của mình không được tìm thấy hoặc bị "hết hạn", ngay cả sau khi khởi động lại Thunderbird. Tôi thực sự phải khởi động lại hoàn toàn PC của mình để khắc phục điều đó. Dù tốt hay xấu, đây dường như là giải pháp thiết thực duy nhất tại thời điểm này. Thay vì phá vỡ phần mềm của họ, họ nên cung cấp cho người dùng một tùy chọn để chọn việc cần làm (ví dụ: cho phép tương tác thông qua khóa gnome)
code_dredd

1
Tin nhắn thực tế:Enigmail Key ... not found or not valid. The (sub-)key might have expired.
code_dredd

Chà, vì một báo cáo lỗi được tạo ra bởi một trong những người bảo trì về điều này rất nhanh sau khi phát hành, nó dường như không phải là một sự thay đổi có chủ ý. Kỳ lạ thay, báo cáo lỗi trong câu hỏi đã bị xóa ngay bây giờ, mặc dù ...
Socob

Cách tiếp cận của @thisthatother cũng hoạt động với ubfox, hãy xem các gói.ubfox.com/search?keywords=enigmail ... Ubuntu cung cấp enigmail dưới dạng apckage với phiên bản 1.8.2 hiện tại cho tất cả các phiên bản ub Ubuntu.
Matthias

5

Cảm ơn rất nhiều cho đầu vào chi tiết của mọi người về vấn đề này.

Tôi gặp vấn đề tương tự kể từ khi hệ thống của tôi cập nhật lên Enigmail 1.9 vào ngày 25 tháng 2. Tôi đã khắc phục sự cố bằng cách gỡ cài đặt Enigmail 1.9 và chuyển sang 1.8.

Đối với tôi, điều này thật dễ dàng vì tôi sử dụng Debian 8 và tôi chỉ đơn giản gỡ cài đặt Enigmail dưới dạng một addon độc lập và thay thế nó bằng phiên bản Enigmail của repian chính (mà một số nghiên cứu cho thấy, là phiên bản 1.8.2 ). Nhún vai. Không có vấn đề gì kể từ khi thay đổi. Tôi hy vọng điều đó hữu ích cho người khác và cảm ơn lần nữa vì đã đưa tôi đi đúng hướng để giải quyết vấn đề.


cảm ơn các áp phích trước cho thông tin chi tiết đã giúp tôi tìm ra giải pháp cho trường hợp cụ thể của mình. tôi hy vọng nó hoạt động ra cho những người khác cũng
thisthatother

Thú vị tìm thấy. Tuy nhiên, tôi không sử dụng Debian và trong khi một giải pháp dành riêng cho Debian có thể chỉ hoạt động với một số ít, thì nên có giải pháp tổng quát hơn.
code_dredd

1
Chà, điều này sẽ hoạt động trong mọi trường hợp - người ta chỉ cần dùng một phiên bản Enigmail cũ hơn (Tôi không nghĩ sẽ có bất kỳ vấn đề tương thích nào với các tệp .xpi).
Socob

Cách giải quyết này cũng khắc phục vấn đề cho tôi. Không có vấn đề gì kể từ đó.
Matthias

2

Không cần hạ cấp plugin enigmail:

  • Danh sách mục
  • Ubuntu 16.04
  • Thunderbird 45.2.0
  • Gửi thư 1.9.5
  • gpg (GnuPG) 1.4.20

Trong một thiết bị đầu cuối:

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

(--use-standard-socket đã lỗi thời)

Không cần phải khởi động lại Thunderbird.


Thật. Tôi đã tuyên bố rằng không cần phải hạ cấp như một bình luận, nhưng tôi đã cập nhật bài viết để làm cho nó rất rõ ràng.
code_dredd

1

Tôi gặp vấn đề tương tự theo nghĩa là Enigmail đột nhiên ném thông báo lỗi này vào mọi hoạt động sau khi đã làm việc trong nhiều tháng. Việc vô hiệu hóa thành phần Tác nhân Mật khẩu GPG của Khóa Gnome đã giải quyết vấn đề này cho tôi - Enigmail sau đó sử dụng gpg-agentchương trình gốc gốc với một chương trình pinentry (thay vì lời nhắc mật khẩu Khóa Gnome) và mọi thứ đều hoạt động mà không gặp sự cố.

Tôi đã vô hiệu hóa thành phần mật khẩu GPG của khóa Gnome bằng cách sử dụng chương trình Khởi động ứng dụng Ubuntu mặc định Ubuntu:

Vô hiệu hóa Tác nhân Mật khẩu GPG (từ Khóa Gnome) bằng cách sử dụng Ứng dụng Khởi động

Bạn nói rằng bạn đã cố gắng vô hiệu hóa Khóa Gnome và bạn đang sử dụng Gnome Shell. Có lẽ điều đó đã không làm việc chính xác? Bạn có thể thử sử dụng các bước tương tự tôi có (Ứng dụng khởi động / Unity) và xem điều đó có thay đổi gì không.

Có vẻ như sự cố này xảy ra do một bản cập nhật gần đây trong Enigmail (phiên bản 1.9 đã được phát hành vào ngày 23 tháng 2 năm 2016) kể từ trước đó, nó có thể được sử dụng với Khóa Gnome mà không gây ra lỗi này. Việc vô hiệu hóa Khóa Gnome giải quyết vấn đề (và thời gian) cho thấy lỗi Enigmail # 575 có liên quan.


Tôi đã có thể đào sâu thêm một chút vào ngày hôm qua. Tôi đã tìm thấy rằng ERROR hijackthông báo xuất hiện trong nhật ký. Tôi đã thử vô hiệu hóa tùy chọn tương tự bạn đã có, nhưng vấn đề là khi tôi làm điều đó, sau đó nó không bao giờ được nói chuyện gpg-agentbởi vì pinentrylời nhắc cho cụm từ mật khẩu không bao giờ xuất hiện (ví dụ: tôi nhận được một thông báo lỗi khác trước đó cho bất kỳ nỗ lực giao tiếp với gpg-agent). Tôi sẽ cho đi một lần nữa vào ngày mai khi tôi trở lại làm việc.
code_dredd

Liên kết lỗi Enigmail bị hỏng ...
xuhdev

@xuhdev Có, lỗi đã được gỡ bỏ ngay sau khi tạo. Tôi không biết tại sao, mặc dù.
Socob
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.