อินิกเมลไม่สามารถสื่อสารกับ gpg-agent ได้


10

ปรับปรุง

ตั้งแต่ Ubuntu 16.04 ปลั๊กอินทำงานตามที่คาดไว้และไม่จำเป็นต้องปรับลดรุ่นตามที่แนะนำในคำตอบที่ยอมรับ คำถามนี้ใช้ได้กับ Ubuntu 15.04 และอาจเป็น 15.10


โพสต์ต้นฉบับ

ฉันใช้ธันเดอร์เบิร์ด + อินิกเมลมาหลายปีแล้ว ปัจจุบันฉันใช้ Thunderbird 38.5.1, Enigmail เวอร์ชัน 1.9 (20160223-1641) และ GPG 2.0.26 ในพีซีที่ทำงานของฉัน (Ubuntu 15.04 64- บิต, W / Gnome Shell)

ไม่กี่วันที่ผ่านมาหลังจาก 1 ปีของการดำเนินงาน Enigmail ก็เริ่มบ่นกับข้อผิดพลาดต่อไปนี้ทุกครั้งที่ฉันพยายามส่งอีเมลที่เซ็นชื่อหรือเข้ารหัส:

GnuPG รายงานข้อผิดพลาดในการสื่อสารกับ gpg-agent (ส่วนประกอบของ GnuPG)

นี่เป็นข้อผิดพลาดในการตั้งค่าระบบหรือการกำหนดค่าที่ป้องกันไม่ให้อินิกเมลทำงานอย่างถูกต้องและไม่สามารถแก้ไขได้โดยอัตโนมัติ

เราขอแนะนำให้คุณปรึกษาเว็บไซต์สนับสนุนของเราที่ 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

ฉันไม่เห็นผลลัพธ์ใด ๆ เลยถ้าฉันพยายามส่งอีเมลที่ลงชื่อและ / หรือเข้ารหัสแล้ว สิ่งนี้จะปรากฏขึ้นเมื่อธันเดอร์เบิร์ดเริ่มต้นขึ้นเท่านั้น

นอกจากนี้ฉันเพิ่ม/usr/bin/gpg-agent --daemonคำสั่งเป็นแอปพลิเคชันเริ่มต้นในแผงแอปพลิเคชัน Gnome Startup แต่ก็ไม่ได้สร้างความแตกต่าง

ฉันคิดว่าฉันใช้การอัปเดตทั่วไปประมาณ 2/23 แต่ปัญหาไม่สามารถมองเห็นได้จนกว่าระบบจะเริ่มต้นใหม่ในวันที่ 2/24 ในสัปดาห์นี้ น่าเสียดายที่ฉันจำไม่ได้ว่ามีการอัปเดตแพ็คเกจใด แต่มีไม่มาก (ปกติฉันจะอัพเดทระบบอยู่เสมอ)

โปรดทราบว่าสิ่งนี้ได้รับการทำงานโดยไม่มีปัญหามานานหลายปีหรือประมาณจนกระทั่งประมาณ 2 วันที่ผ่านมา (ฉันเคยใช้การตั้งค่านี้ในพีซีเดสก์ทอปที่บ้านมาเป็นเวลา 4 ปี + โดยไม่มีปัญหา แต่พีซีที่ทำงานของฉันคือแล็ปท็อปและบางครั้งอูบุนตูก็ใช้งานไม่ได้เพราะมีเหตุผลที่ไม่รู้จัก ... )

เมื่อฉันพยายามเปิดอีเมลที่เข้ารหัสที่ฉันได้รับ (หรือร่างจดหมายที่บันทึกไว้ซึ่งถูกเข้ารหัสด้วย) ฉันได้รับข้อความแสดงข้อผิดพลาดเดียวกันเกี่ยวกับเรื่องgpg-agentนี้ แต่จะถอดรหัสข้อความอีเมลหลังจากขอรหัสผ่านส่วนตัวสำหรับฉัน

ถาม: ฉันจะแก้ไขข้อผิดพลาดในการสื่อสารที่ทำให้ฉันไม่สามารถส่งอีเมลที่เซ็นชื่อหรือเข้ารหัสได้อย่างไร

ในการพิจารณาปัญหาได้รับการแก้ไขสถานการณ์ต้องกลับไปทำงานตามปกติโดยไม่มีข้อผิดพลาด ฯลฯ

ขอขอบคุณล่วงหน้าสำหรับความช่วยเหลือที่คุณสามารถให้เพื่อช่วยแก้ไขปัญหานี้


ขณะที่ฉันเขียนโพสต์นี้ฉันสังเกตเห็นข้อความต่อไปนี้จากgpg-agentdaemon ในเทอร์มินัล:

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

สิ่งนี้ปรากฏขึ้นอย่างคาดไม่ถึงเนื่องจากฉันไม่ได้ขอให้ธันเดอร์เบิร์ดทำอะไรเป็นพิเศษในระหว่างนี้


ฉันอัปเดตจาก 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ปล่อยออกมาจริงๆ คำถามที่พบบ่อยล้าสมัยและฉันไม่แน่ใจว่าตัวเลือกในการดูบันทึกการดีบักของอินิกเมลนั้นอยู่ที่ใดอีกต่อไป
code_dredd

น่าเสียดายที่ฉันไม่แน่ใจฉันเพิ่งตรวจสอบตัวติดตามบั๊กของอินิกเมลและเห็นปัญหานั้นที่ด้านบนสุดซึ่งดูเหมือนว่ามันจะนำไปสู่ปัญหานี้ นอกจากนี้ฉันมีปัญหาเช่นเดียวกับคุณ (อินิกเมลให้ข้อความแสดงข้อผิดพลาดนี้หลังจากทำงานโดยไม่มีปัญหามาเป็นเวลานาน) ฉันจะพยายามกำจัดมันให้หมดเวลา
Socob

@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 วิธีการก็เหมือนกัน:

ปรับลด

นับตั้งแต่อินิกเมลเปิดตัวเวอร์ชั่น 1.9 เมื่อวันที่ 23 กุมภาพันธ์และปัญหาเริ่มตั้งแต่วันนั้นเป็นต้นมาโซลูชั่นสามข้อเท่านั้นคือ:

  1. รอให้อินิกเมลจัดเรียงสิ่งต่างๆและติดตั้งการอัปเดตเป็น 1.9.x และหยุดใช้การเข้ารหัสจนกว่าจะมีการอัปเดต
  2. ขุดไปรอบ ๆ และแก้ปัญหาด้วยตัวเอง (ซึ่งไม่ใช่ทุกคนที่สามารถทำได้เนื่องจากความรู้ที่ จำกัด ของสถาปัตยกรรมซอฟต์แวร์พื้นฐาน)
  3. ปรับลดรุ่นเป็น 1.8.2 จากนั้นรอให้อินิกเมลจัดเรียงสิ่งต่าง ๆ และอัปเกรดเป็น 1.9.x ซึ่งจะแก้ไขข้อผิดพลาดที่เกิดขึ้นกับ 1.9

ฉันไม่สามารถช่วยด้วย 1 หรือ 2 แต่มีข้อ 3:

  • ดาวน์โหลด Enigmail 1.8.2ซึ่งเป็นเวอร์ชั่น pre-1.9 ล่าสุดที่ไม่ได้แนะนำข้อผิดพลาด
  • ถอนการติดตั้ง Enigmail 1.9 ผ่านทางเมนู Add-on ของ Thunderbird
  • จากภายในเมนูเดียวกันนั้นให้ติดตั้งไฟล์ 1.8.2 ที่ดาวน์โหลดด้วยตนเองโดยคลิกที่ปุ่มกำหนดค่า Add-onsที่ด้านบนของหน้า Add-on ของธันเดอร์เบิร์ดซ้ายจากช่องป้อนข้อความค้นหา
  • รีสตาร์ทธันเดอร์เบิร์ด

ตอนนี้มันควรจะทำงานเหมือนก่อนการอัพเดตเป็น Enigmail 1.9

ฉันขอแนะนำให้ปิดการใช้งานการอัปเดตอัตโนมัติสำหรับ Enigmail จนกว่าข้อผิดพลาดที่แนะนำใน 1.9 จะถูกแยกออก คุณสามารถปิดใช้งานได้โดยคลิกที่ลิงก์ "เพิ่มเติม" ที่อยู่ในข้อความคำอธิบายของส่วนขยายของอินิกเมลในหน้าโปรแกรมเสริมของธันเดอร์เบิร์ด


ฉันคิดว่าคุณหมายถึง“ ฉันไม่สามารถช่วยเหลือ 1 หรือ2แต่มีข้อ3
Socob

1
@Bran: โปรดทราบว่าหลังจากเปลี่ยนรุ่นอินิกเมลคุณอาจได้รับข้อความแสดงข้อผิดพลาดเกี่ยวกับรหัสของคุณไม่พบหรือถูก "หมดอายุ" แม้หลังจากรีสตาร์ทธันเดอร์เบิร์ดแล้ว จริง ๆ แล้วฉันต้องรีสตาร์ทพีซีของฉันให้เต็มก่อน สำหรับดีขึ้นหรือแย่ลงดูเหมือนว่านี่เป็นวิธีแก้ปัญหาเฉพาะทางเท่านั้นในเวลานี้ แทนที่จะทำลายซอฟต์แวร์ของพวกเขาพวกเขาควรให้ตัวเลือกแก่ผู้ใช้ในการเลือกว่าจะทำอย่างไร (เช่นอนุญาตให้มีปฏิสัมพันธ์ผ่านพวงกุญแจ gnome)
code_dredd

1
ข้อความจริง:Enigmail Key ... not found or not valid. The (sub-)key might have expired.
code_dredd

ดีเนื่องจากรายงานข้อผิดพลาดถูกสร้างขึ้นโดยหนึ่งในผู้ดูแลเกี่ยวกับเรื่องนี้ไม่นานหลังจากการเปิดตัวมันดูเหมือนจะไม่เป็นการเปลี่ยนแปลงโดยเจตนา น่าแปลกที่รายงานข้อผิดพลาดที่เป็นปัญหาถูกลบไปแล้วในขณะนี้ ...
Socob

วิธีการของ @thisthatother สำหรับ ubuntu นั้นดูที่packages.ubuntu.com/search?keywords=enigmail ... Ubuntu ให้ enigmail เป็น apckage ด้วยรุ่น 1.8.2 ในปัจจุบันสำหรับทุกรุ่นของ Ubuntu
Matthias

5

ขอบคุณมากสำหรับการป้อนข้อมูลโดยละเอียดของทุกคนเกี่ยวกับปัญหานี้

ฉันมีปัญหาที่คล้ายกันเนื่องจากระบบของฉันอัปเดตเป็น Enigmail 1.9 ในวันที่ 25 กุมภาพันธ์ฉันแก้ไขปัญหาโดยการถอนการติดตั้ง Enigmail 1.9 และเปลี่ยนเป็น 1.8

สำหรับฉันนี่เป็นเรื่องง่ายเนื่องจากฉันใช้ Debian 8 และฉันเพิ่งถอนการติดตั้ง Enigmail เป็นแอดออนแบบสแตนด์อโลนและแทนที่ด้วย Enigmail ของ repian main repo ของ Enigmail (ซึ่งมีงานวิจัยแสดงให้เห็นว่าเป็นรุ่น 1.8.2 ) ยัก. ไม่เคยมีปัญหานับตั้งแต่มีการเปลี่ยนแปลง ฉันหวังว่ามันจะมีประโยชน์กับผู้อื่นและขอขอบคุณอีกครั้งที่ให้ฉันมาถูกทางเพื่อแก้ไขปัญหา


ต้องขอบคุณผู้โพสต์ก่อนหน้านี้สำหรับข้อมูลโดยละเอียดที่ช่วยให้ฉันหาวิธีแก้ปัญหากรณีของฉัน ฉันหวังว่ามันจะเป็นประโยชน์กับคนอื่นเช่นกัน
2559

ค้นหาที่น่าสนใจ อย่างไรก็ตามฉันไม่ได้ใช้ Debian และในขณะที่วิธีแก้ปัญหาเฉพาะของ Debian อาจใช้งานได้เพียงไม่กี่วิธี
code_dredd

1
สิ่งนี้น่าจะใช้ได้ไม่ว่ากรณีใด - เราแค่ต้องจัดการกับอินิกเมลรุ่นเก่า (ฉันไม่คิดว่าจะมีปัญหาเรื่องการเข้ากันได้กับไฟล์. xpi)
Socob

วิธีแก้ปัญหานี้แก้ไขปัญหาให้ฉันด้วย ไม่มีปัญหาตั้งแต่
Matthias

2

ไม่จำเป็นต้องดาวน์เกรดปลั๊กอินของอินิกเมล:

  • รายการสินค้า
  • Ubuntu 16.04
  • ธันเดอร์เบิร์ด 45.2.0
  • อินิกเมล 1.9.5
  • gpg (GnuPG) 1.4.20

ในอาคารผู้โดยสาร:

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

(- ใช้ซ็อกเก็ตมาตรฐานล้าสมัย)

ไม่จำเป็นต้องรีสตาร์ท Thunderbird


จริง ฉันระบุว่าไม่จำเป็นต้องลดระดับความคิดเห็น แต่ฉันได้อัปเดตโพสต์เพื่อให้สามารถมองเห็นได้มาก
code_dredd

1

ฉันมีปัญหาเดียวกันในแง่ที่ว่าอินิกเมลก็ส่งข้อความแสดงข้อผิดพลาดนี้ในทุกการทำงานหลังจากทำงานมาหลายเดือน การปิดใช้งานองค์ประกอบตัวแทนรหัสผ่าน GPG ของพวงกุญแจ GNOME แก้ปัญหานี้ให้ฉัน - จากนั้นgpg-agentอินิกเมลก็ใช้โปรแกรม "ดั้งเดิม" กับโปรแกรมพินเนอร์ (แทนที่จะใช้พรอมต์ข้อความรหัสผ่านของ GNOME Keyring) และทุกอย่างทำงานได้โดยไม่มีปัญหา

ฉันปิดใช้งานส่วนประกอบรหัสผ่าน GPG ของ GNOME Keyring โดยใช้โปรแกรม“ เริ่มต้นใช้งาน” เริ่มต้นของ Ubuntu:

การปิดใช้งานตัวแทนรหัสผ่าน GPG (จากพวงกุญแจ GNOME) โดยใช้ "แอปพลิเคชันเริ่มต้น"

คุณบอกว่าคุณพยายามปิดการใช้งานพวงกุญแจ GNOME และคุณใช้ GNOME Shell อยู่ บางทีนั่นอาจไม่ทำงานอย่างถูกต้อง? คุณสามารถลองใช้ขั้นตอนเดียวกับที่ฉันมี (แอปพลิเคชันเริ่มต้น / ความสามัคคี) และดูว่าสิ่งนั้นเปลี่ยนแปลงหรือไม่

ดูเหมือนว่าปัญหานี้เกิดจากการอัปเดตล่าสุดใน Enigmail (รุ่น 1.9 เปิดตัวเมื่อวันที่ 23 กุมภาพันธ์ 2016) ตั้งแต่ก่อนหน้านี้มันสามารถใช้กับ GNOME Keyring โดยไม่สร้างข้อผิดพลาดนี้ ความจริงที่ว่าการปิดใช้งาน GNOME Keyring ช่วยแก้ไขปัญหา (และเวลา) บ่งชี้ว่าEnigmail bug # 575เกี่ยวข้องกัน


เมื่อวานนี้ฉันสามารถขุดอีกเล็กน้อย ฉันพบว่าERROR hijackข้อความปรากฏขึ้นในบันทึก ฉันได้ลองปิดการใช้งานตัวเลือกเดียวกับที่คุณมีอยู่แล้ว แต่ปัญหาก็คือเมื่อฉันทำอย่างนั้นมันก็ไม่เคยคุยกันgpg-agentเพราะpinentryข้อความแจ้งเตือนสำหรับวลีรหัสผ่านไม่เคยปรากฏขึ้น (เช่นฉันได้รับข้อความแสดงข้อผิดพลาดก่อนหน้านี้ เพื่อพยายามสื่อสารใด ๆ ด้วยgpg-agent) ฉันจะไปอีกครั้งเมื่อฉันกลับไปทำงานพรุ่งนี้
code_dredd

ลิงก์บั๊ก Enigmail เสีย ...
xuhdev

@xuhdev ใช่ข้อผิดพลาดจะถูกลบหลังจากสร้างไปไม่นาน ฉันไม่รู้เลยว่าทำไม
Socob
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.