ฉันเป็นนักพัฒนาและฉันมักจะลงนามในสัญญา Git ของฉันด้วยรหัส GPG ของฉัน ฉันสามารถทำให้ GPG Agent ทำงานได้อย่างถูกต้องบน OSX เพื่อให้ฉันขอรหัสผ่านของฉันวันละครั้งเท่านั้น แต่ฉันมีปัญหาในการทำงานกับ Ubuntu 16.04
นี่คือสิ่งที่ฉันทำ:
- ฉันมีการตั้งค่าคีย์ GPG ของฉัน / เป็นต้น
- ฉันอยู่ในไดเรกทอรี Git
- ฉันเพิ่มไฟล์ลงใน Git
ฉันจะคอมมิทพวกเขา (
git commit
) และรับคำขอรหัสผ่าน GPG ที่มีลักษณะดังนี้:$ git ci You need a passphrase to unlock the secret key for user: "Randall Degges <r@rdegges.com>" 4096-bit RSA key, ID 8F700DA2, created 2016-04-05 [master 1740961] blah 1 file changed, 1 insertion(+)
ปัญหาคือ: ทุกครั้งที่ฉันกระทำฉันจะขอรหัสผ่าน GPG อีกครั้ง
สิ่งที่ฉันต้องการจะทำคือกำหนดค่าตัวแทน GPG ให้แคชรหัสผ่านของฉันเป็นเวลา 1 วันเต็มดังนั้นจะต้องป้อนครั้งเดียวเท่านั้น
ฉันได้อ่านเอกสารและบล็อกโพสต์มากมายและนี่คือสิ่งที่ฉันได้ลองมาแล้ว ...
ก่อนอื่นฉันแก้ไข~/.zshrc
ไฟล์ (ฉันใช้ zsh) เพื่อตั้งค่าต่อไปนี้:
# GPG Agent
export GPG_TTY=$(tty)
export GPGKEY=8F700DA2
ตอนนี้จากสิ่งที่ฉันอ่านคนเดียวนี้ควรทำเคล็ดลับหลังจากรีสตาร์ท gpg-agent แต่ไม่ได้
ดังนั้นสิ่งต่อไปที่ฉันทำคือฉันกำหนด~/.gnupg/gpg-agent.conf
ไฟล์ตามที่อธิบายไว้ในman gpg-agent
หน้า:
# Set the default cache time to 1 day.
default-cache-ttl 86400
default-cache-ttl-ssh 86400
# Set the max cache time to 30 days.
max-cache-ttl 2592000
max-cache-ttl-ssh 2592000
สิ่งนี้ก็ไม่มีผลเช่นกัน
ฉันได้ลองวิธีการบล็อกต่าง ๆ ฯลฯ แต่ดูเหมือนว่าจะไม่มีอะไรทำงาน ใครช่วยชี้ให้ฉันในสิ่งที่ฉันอาจหายไป?