วิธีการทำให้ gpg ค้นหาตัวแทน gpg


23

ใน Fedora 22, gpg ไม่พบตัวแทน gpg:

% gpg-agent --daemon                                           

% gpg -vvv --use-agent --no-tty --decrypt file.gpg 
gpg: using character set `utf-8'
:pubkey enc packet: version 3, algo 1, keyid 3060B8F7271AFBAF
  data: [4094 bits]
gpg: public key is 271AFBAF
gpg: using subkey 271AFBAF instead of primary key 50EA64D5
gpg: using subkey 271AFBAF instead of primary key 50EA64D5
gpg: gpg-agent is not available in this session
gpg: Sorry, no terminal at all requested - can't get input

คำตอบ:


36

ดูที่รุ่นพบปัญหา:

% gpg-agent --version
gpg-agent (GnuPG) 2.1.7

% gpg --version                                                               
gpg (GnuPG) 1.4.19

ส่วนประกอบมาจากแพ็คเกจต่าง ๆ ( gnupg2-2.1.7-1.fc22.x86_64และ gnupg-1.4.19-2.fc22.x86_64ในกรณีของฉัน) การแก้ปัญหาคือการใช้คำสั่งแทนgpg2 gpg


1
ขอบคุณ ฉันใช้เวลา 30 นาทีบนอินเทอร์เน็ตเพื่อพยายามหาสิ่งนี้ ... ปรากฎว่าเอกสารและคำแนะนำส่วนใหญ่ไม่คำนึงถึงความแตกแยกระหว่างเครื่องมือรุ่นต่างๆ ฉันต้องพิมพ์ข้อความรหัสผ่านสำหรับการเรียกใช้ gpg ทุกครั้งที่มีไฟล์ 20 ไฟล์ที่ฉันต้องการลงชื่อตอนนี้ฉันทำได้เพียงครั้งเดียว ขอบคุณอีกครั้ง.
ดอนสดใส

สิ่งนี้ยังเกี่ยวข้องกับ Fedora 27 การใช้gpg2ยังช่วยให้การรวมคำพังเพย
Alex Gyoshev

8

ในกรณีที่เป็นประโยชน์สำหรับบางคนgpg1.4 สามารถทำงานได้ดีกับgpg-agent2.1

เมื่อตรวจสอบแล้วฉันพบโพสต์นี้: https://lists.gnupg.org/pipermail/gnupg-devel/2014-October/029024.html

เอเจนต์เข้ากันได้ แต่ไม่ส่งออกตัวแปรสภาพแวดล้อมที่ gpg เวอร์ชั่นเก่ากว่าคาดไว้ หากคุณตั้งค่าด้วยตนเองมันจะทำงาน:

export GPG_AGENT_INFO=${HOME}/.gnupg/S.gpg-agent:0:1


Fedora ใช้เส้นทางซ็อกเก็ตเริ่มต้นที่แตกต่างกัน ฉันต้องใช้GPG_AGENT_INFO=/run/user/$(id -u)/gnupg/S.gpg-agent:0:1แทน
Pawel Veselov
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.