【问题标题】:Remember GPG password when signing git commits签署 git 提交时记住 GPG 密码
【发布时间】:2016-08-19 05:58:26
【问题描述】:

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

【问题讨论】:

标签: git shell gnupg


【解决方案1】:

您可以使用此行在~/.gnupg/gpg-agent.conf 中为 gpg-agent 设置超时时间:

default-cache-ttl 3600

这将告诉 gpg-agent 将密码存储一小时。您不希望它是不确定的,但不要经常输入它也是有好处的。

【讨论】:

  • 制作一个包含该行的文本文件,但如果您仍在使用 GPG 1.4,它将不会使用 gpg-agent。现在大多数人都使用 2.0 或 2.1,除了出于某种原因需要 1.4 的系统(通常是无头系统,如路由器)。
  • 您不应该这样做,但如果您愿意,您可以这样做,而且肯定不会受到伤害。最好的方法是运行 gpgconf --kill gpg-agent 并且代理将在调用下一个 gpg 进程或命令时(针对该用户)重新启动,无论它是否需要密码或 pinentry。
  • 这要么在 gpg@2.2.20 中不再起作用,要么不接受像 1209600(2 周)这样的大值。
  • @PaulRazvanBerg 1 周 (604800) 似乎适用于 gpg@2.2.29,如果这对任何人都有帮助的话。
【解决方案2】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-12
    • 1970-01-01
    • 2019-10-21
    • 1970-01-01
    相关资源
    最近更新 更多