签署git提交时请记住GPG密码

gau*_*uge 19 git shell gnupg

是否可以保存GPG密码,以便每次进行git提交时都不会提示我输入密码?

Ben*_*Ben 21

您可以~/.gnupg/gpg-agent.conf使用以下行设置gpg-agent的超时时间:

default-cache-ttl 3600
Run Code Online (Sandbox Code Playgroud)

这将告诉gpg-agent存储密码短语一小时.你不希望它是无限期的,但不是经常输入它也是有益的.

  • 你不应该需要这样做,但如果你愿意的话你可以这样做,而且肯定不会有什么坏处。最好的方法是运行“gpgconf --kill gpg-agent”,代理将在调用下一个 gpg 进程或命令时重新启动(对于该用户),无论它是否需要密码或 pinentry。 (5认同)
  • 更多信息 » https://www.gnupg.org/documentation/manuals/gnupg-devel/Agent-Options.html (4认同)
  • @PaulRazvanBerg 1 week (604800) 似乎可以在 gpg@2.2.29 上工作,如果这对任何人都有帮助的话。 (4认同)
  • 这要么在 gpg@2.2.20 中不再起作用,要么不接受像“1209600”这样的大值(2 周)。 (3认同)
  • 创建一个包含该行的文本文件,但如果您仍在使用 GPG 1.4,则它不会使用 gpg-agent。现在大多数人都使用 2.0 或 2.1,除了出于某种原因需要 1.4 的系统(通常是无头系统,如路由器)。 (2认同)

Pel*_*red 20

如果您使用的是 Mac,我建议您使用pinentry-mac. 然后您可以将密码保存到 macOS 钥匙串。

使用 安装brew install pinentry-mac,然后将此行添加pinentry-program /opt/homebrew/bin/pinentry-mac~/.gnupg/gpg-agent.conf(删除/注释掉pinentry-program该文件中的任何其他行)