ฉันกำลังพยายามรวมซอฟต์แวร์เข้ารหัสของฉันเข้ากับ GnuPG และฉันพบปัญหาที่ทำให้สับสน
unitsprimary ของฉันคือเซิร์ฟเวอร์หัวขาดและฉันทำงานเฉพาะใน tmux ไม่มีเซสชัน X ดังนั้นฉันจึงกำหนดค่า gpg-agent ให้ใช้ pinentry-curses ฉันได้กำหนดค่า gpg-agent ให้เรียกเข้าสู่ระบบด้วยการจำลอง ssh-agent ด้วยสคริปต์นี้:
if pgrep -u "${USER}" gpg-agent >/dev/null 2>&1; then
eval `cat $gnupginf`
eval `cut -d= -f1 $gnupginf | xargs echo export`
else
eval `gpg-agent -s --enable-ssh-support --daemon`
fi
ฉันได้เพิ่มคีย์ ssh ของฉันไปที่ gpg-agent แล้ว แต่เมื่อฉันลองเซสชัน ssh อื่นคำสั่งจะหยุดทำงาน
ฉันได้ค้นพบว่าถ้าฉันฆ่า gpg-agent และสร้างเชลล์ล็อกอินใหม่เอเจนต์จะทำงานตามที่ควร (เรียก pinentry-curses แล้วทำงานเหมือน ssh-agent)
อย่างไรก็ตามถ้าฉันสร้างเชลล์ล็อกอินอีกอัน (โดยพูดเปิดป๊อปอัพ tmux บานหน้าต่างอื่น) และพยายาม ssh คำสั่งแฮงค์และหน้าต่าง pinentry-curses ถูกพิมพ์ทับเนื้อหาของล็อกอินเชลล์ที่เปิดเอเจนต์ในตอนแรก
นอกจากนี้หากฉันปิดเชลล์ที่เปิดตัวเอเจนต์ตอนแรกพินเนอร์ - แชสส์ถูกเรียกใช้อยู่แล้วและทำให้เกิดการวนซ้ำของ cpu-crippling infinite (ข้อผิดพลาดที่รู้จักดูhttp://bugs.debian.org/cgi-bin/bugreport.cgi?bug=559936 )
โดยพื้นฐานแล้วฉันต้องการทราบว่าจะเปลี่ยนแปลงอะไรเกี่ยวกับการตั้งค่าของฉันเพื่อให้ตัวแทน GnuPG ทำงานได้อย่างราบรื่นเหมือนตัวแทน ssh ขอบคุณสำหรับความช่วยเหลือใด ๆ !