Cache cụm mật khẩu GPG để ký git trên Mac

Nov 11 2020

Đã có một chủ đề chung chung hơn về chủ đề, Nhớ mật khẩu GPG khi ký git cam kết , nhưng câu trả lời ở đó không phù hợp với tôi. Môi trường của tôi là:

  • Mac ([email protected])
  • Bash (mặc định đi kèm với macOS)
  • Git v2.27.0
  • GnuPG v2.2.20 (libgcrypt 1.8.5)

Tôi đã cài đặt GnuPG qua Homebrew và viết các cài đặt sau vào ~/.gnupg/gpg-agent.conftệp:

default-cache-ttl 1209600 # 14 days
max-cache-ttl 31536000 # 1 year

Nhưng bộ nhớ cache không được áp dụng. Cứ sau mười phút hoặc lâu hơn sau khi tôi thực hiện git commit, gpg sẽ nhắc tôi nhập lại mật khẩu.

Đây là .gitignoretệp chung của tôi :

[commit]
    gpgSign = true

Tôi đang thiếu gì?

Trả lời

1 Marco Nov 11 2020 at 16:35

Trong thiết lập cá nhân của mình, tôi đã thêm khóa ký vào phần người dùng.

[user]
name = "Marco Franssen"
email = "[email protected]"
signingkey = 63B0C3B53E26....

[commit]
gpgSign = true

Hơn nữa, tôi có các plugin sau trong oh-my-zsh. ( ~/.zshrc)

plugins=(git keychain gpg-agent)

zstyle :omz:plugins:keychain agents ssh,gpg
zstyle :omz:plugins:keychain identities id_rsa 63B0C3B53E2....

Plugin này khởi động một tác nhân cho các khóa ssh và gpg của tôi.

Hơn nữa, tôi đã thêm tệp sau

$ cat ~/.gnupg/gpg-agent.conf
default-cache-ttl 3600

Đối với Bash, bạn có thể thêm phần sau vào của bạn ~/.bashrc.

https://github.com/ohmyzsh/ohmyzsh/blob/master/plugins/gpg-agent/gpg-agent.plugin.zsh