ฉันจะรีสตาร์ท gpg-agent ได้อย่างไร


67

การเปลี่ยนแปลงบางอย่างในการกำหนดค่า GnuPG ต้องการการgpg-agentรีสตาร์ท / รีบูต แต่ ... ฉันจะทำเช่นนั้นได้อย่างไร ฉันพยายามgpg-agent restart, service gpg-agent restartแต่ไม่ประสบความสำเร็จ

คำตอบ:


99

ด้วย GPG ปัจจุบัน (2.1+) เพื่อหยุด gpg-agentคุณสามารถใช้gpgconf --killเช่นนี้:

gpgconf --kill gpg-agent

คุณไม่จำเป็นต้องรีสตาร์ทด้วยตนเอง GPG จะรีสตาร์ทเมื่อจำเป็น


6
มีหลายกรณีที่คุณต้องการเริ่มต้นระบบตัวแทนด้วยตนเองเช่นเมื่อคุณใช้งานโดยเปิดใช้งานการสนับสนุน ssh ตัวแทนจะไม่เริ่มต้นโดยอัตโนมัติเมื่อคุณพยายามเข้าสู่ระบบ ssh
hasufell

1
หากคุณลบ~/.gnupgไดเรกทอรีคุณจะต้องรีสตาร์ทเอเจนต์ gpg ด้วยตนเอง
Christopher Martin

21

gpg-connect-agent reloadagent /byeวิธีที่ต้องการของฉันอยู่กับ ดูgpg-connect-agent help /byeรายการคำสั่งทั้งหมด


10

gpg-agentไม่ใช่บริการทั่วทั้งระบบ แต่เริ่มต้นหนึ่งครั้งต่อผู้ใช้ (ดังนั้นจะไม่ได้รับการจัดการโดยservice) แม้ว่าบางครั้งจะเรียกใช้โดย dotfiles ของผู้ใช้หรืออย่างน้อยก็ใน Debian และอนุพันธ์เช่นกันเมื่อ X11 เริ่มต้น (และgpg-agentติดตั้ง) ใน/etc/X11/Xsession.d/90gpg-agent(เพื่อให้แน่ใจว่ามีการgpg-agentใช้งาน GnuPG ทั่วไปร่วมกัน มันจะเริ่มโดยอัตโนมัติโดย GnuPG เมื่อต้องการ จากman gpg-agent:

เอเจนต์จะเริ่มต้นโดยอัตโนมัติตามความต้องการโดย gpg, gpgsm, gpgconf หรือตัวแทน gpg-connect- ดังนั้นจึงไม่มีเหตุผลที่จะเริ่มด้วยตนเอง ในกรณีที่คุณต้องการใช้ Secure Shell Agent ที่รวมอยู่คุณสามารถเริ่มใช้งาน Agent โดยใช้:

gpg-connect-agent /bye

มักจะเป็นที่เรียบง่ายkillall gpg-agent(จากเปลือกที่ไม่ใช่ราก) gpg-agentควรจะปรับสำหรับการยกเลิก คุณอาจสังเกตเห็นว่ามีความล่าช้าเล็กน้อยเมื่อใช้ GnuPG ในครั้งต่อไปตามที่gpg-agentเริ่มต้นอีกครั้ง


2
การเปลี่ยนแปลงใน GPG 2.1.x และกระบวนการนี้จัดการผ่าน dirmngr คำสั่งที่จะเรียกใช้นั้นจะdirmngr --shutdownตามด้วยdirmngr --daemonและบางครั้งตัวเลือกเพิ่มเติม (ฉันยังรวมถึง GPG homedir และ--use-torธงที่เฉพาะเจาะจง)
Ben

1

จากประสบการณ์ของฉันมีบางสถานการณ์ที่ gpg จะไม่สามารถเริ่มต้นเอเจนต์ gpg ใหม่ (นำเข้าคีย์ใหม่ได้หรือไม่)

ฆ่าเอเจนต์เก่าด้วย:

GNUPGHOME="${GNUPGHOME:-$HOME/.gnupg}" gpgconf --kill gpg-agent

จากนั้นเริ่มใหม่:

gpg-agent --homedir "${GNUPGHOME:-$HOME/.gnupg}" --daemon

การตั้งค่า --homedir อย่างชัดเจนเมื่อเริ่มยืนยันรายชื่อ ps ของคุณจะชัดเจนเมื่อคุณมี homedir มากกว่าหนึ่ง และมันก็คล้ายกับสิ่งที่ gpg ทำเมื่อมันเริ่ม

การตั้งค่า GNUPGHOME เมื่อไม่จำเป็นต้องหยุดทำงาน แต่อาจทำให้คุณหรือผู้ตรวจสอบโค้ดสบายขึ้น

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