为 git 登录 Mac 缓存 GPG 密码
Cache GPG passphrase for git signing on Mac
已经有一个关于该主题的更通用的线程,,但那里的答案对我不起作用。我的环境是:
- Mac (macOS@10.15.7)
- Bash(macOS 自带的默认值)
- Git v2.27.0
- GnuPG v2.2.20 (libgcrypt 1.8.5)
我通过 Homebrew 安装了 GnuPG,并将以下设置写入 ~/.gnupg/gpg-agent.conf
文件:
default-cache-ttl 1209600 # 14 days
max-cache-ttl 31536000 # 1 year
但是没有应用缓存。在我执行 git commit
后,每隔十分钟左右,gpg 就会提示我再次输入密码。
这是我的全局 .gitignore
文件:
[commit]
gpgSign = true
我错过了什么?
在我的个人设置中,我已将签名密钥添加到用户部分。
[user]
name = "Marco Franssen"
email = "marco@my-email.com"
signingkey = 63B0C3B53E26....
[commit]
gpgSign = true
此外,我在 oh-my-zsh 中有以下插件。 (~/.zshrc
)
plugins=(git keychain gpg-agent)
zstyle :omz:plugins:keychain agents ssh,gpg
zstyle :omz:plugins:keychain identities id_rsa 63B0C3B53E2....
此插件为我的 ssh 和 gpg 密钥启动代理。
此外我还添加了以下文件
$ cat ~/.gnupg/gpg-agent.conf
default-cache-ttl 3600
对于 Bash,您可以将以下内容添加到您的 ~/.bashrc
。
https://github.com/ohmyzsh/ohmyzsh/blob/master/plugins/gpg-agent/gpg-agent.plugin.zsh
已经有一个关于该主题的更通用的线程,
- Mac (macOS@10.15.7)
- Bash(macOS 自带的默认值)
- Git v2.27.0
- GnuPG v2.2.20 (libgcrypt 1.8.5)
我通过 Homebrew 安装了 GnuPG,并将以下设置写入 ~/.gnupg/gpg-agent.conf
文件:
default-cache-ttl 1209600 # 14 days
max-cache-ttl 31536000 # 1 year
但是没有应用缓存。在我执行 git commit
后,每隔十分钟左右,gpg 就会提示我再次输入密码。
这是我的全局 .gitignore
文件:
[commit]
gpgSign = true
我错过了什么?
在我的个人设置中,我已将签名密钥添加到用户部分。
[user]
name = "Marco Franssen"
email = "marco@my-email.com"
signingkey = 63B0C3B53E26....
[commit]
gpgSign = true
此外,我在 oh-my-zsh 中有以下插件。 (~/.zshrc
)
plugins=(git keychain gpg-agent)
zstyle :omz:plugins:keychain agents ssh,gpg
zstyle :omz:plugins:keychain identities id_rsa 63B0C3B53E2....
此插件为我的 ssh 和 gpg 密钥启动代理。
此外我还添加了以下文件
$ cat ~/.gnupg/gpg-agent.conf
default-cache-ttl 3600
对于 Bash,您可以将以下内容添加到您的 ~/.bashrc
。
https://github.com/ohmyzsh/ohmyzsh/blob/master/plugins/gpg-agent/gpg-agent.plugin.zsh