本质上我想要的是不必每次在 git 中提交时都输入密码。
在寻找解决方案时我发现了这个。
所以它告诉我在配置文件中设置 default-cache-ttl 和 max-cache-ttl 。但该文件似乎不在我的安装中的 C:\users<name>.gnupg 中。(我正在运行 Windows 10,根据 gpg --version,GPG 版本为 2.2.23)
接下来我发现这篇文章表明该文件将位于 %appdata%\gnupg 中,但该文件不存在。我尝试添加包含以下内容的文件:
default-cache-ttl 2592000
max-cache-ttl 2592000
Run Code Online (Sandbox Code Playgroud)
当我使用以下命令重新启动 gpg 时
gpgconf.exe --reload gpg-agent
gpgconf.exe --list-options gpg-agent
Run Code Online (Sandbox Code Playgroud)
它输出这个:
Monitor:1:0:Options controlling the diagnostic output:0:0::::
verbose:12:0:verbose:0:0::::
quiet:8:0:be somewhat more quiet:0:0::::
Configuration:1:0:Options controlling the configuration:0:0::::
disable-scdaemon:8:1:do not use the SCdaemon:0:0::::
enable-ssh-support:0:0:enable ssh support:0:0::::
ssh-fingerprint-digest:24:2:use ALGO to show ssh fingerprints:1:1:ALGO:"md5::
enable-putty-support:0:0:enable putty support:0:0::::
Debug:1:1:Options useful for debugging:0:0::::
debug-level:26:1:set the debugging level to LEVEL:1:1:LEVEL:"none::
log-file:8:1:write server mode logs to FILE:32:1:FILE:::
Security:1:0:Options controlling the security:0:0::::
default-cache-ttl:24:0:expire cached PINs after N seconds:3:3:N:600::2592000
default-cache-ttl-ssh:24:1:expire SSH keys after N seconds:3:3:N:1800::
max-cache-ttl:24:2:set maximum PIN cache lifetime to N seconds:3:3:N:7200::2592000
max-cache-ttl-ssh:24:2:set maximum SSH key lifetime to N seconds:3:3:N:7200::
ignore-cache-for-signing:8:0:do not use the PIN cache when signing:0:0::::
allow-emacs-pinentry:8:1:allow passphrase to be prompted through Emacs:0:0::::
grab:8:2::0:0::::
no-allow-external-cache:8:0:disallow the use of an external password cache:0:0::::
no-allow-mark-trusted:8:1:disallow clients to mark keys as "trusted":0:0::::
no-allow-loopback-pinentry:8:2:disallow caller to override the pinentry:0:0::::
Passphrase policy:1:1:Options enforcing a passphrase policy:0:0::::
enforce-passphrase-constraints:8:2:do not allow bypassing the passphrase policy:0:0::::
min-passphrase-len:24:1:set minimal required length for new passphrases to N:3:3:N:8::
min-passphrase-nonalpha:24:2:require at least N non-alpha characters for a new passphrase:3:3:N:1::
check-passphrase-pattern:24:2:check new passphrases against pattern in FILE:32:1:FILE:::
max-passphrase-days:24:2:expire the passphrase after N days:3:3:N:0::
enable-passphrase-history:8:2:do not allow the reuse of old passphrases:0:0::::
pinentry-timeout:24:1:set the Pinentry timeout to N seconds:3:3:N:0::
Run Code Online (Sandbox Code Playgroud)
这似乎表明这是有效的,尽管事实并非如此。我在这里缺少什么?
小智 6
我遇到了类似的问题,并发现这个答案很有帮助。
结果我安装了两个版本的 gpg。一种是通过 Git 安装的,另一种是手动安装的。我正在配置手动配置,但 git 使用的是不同的配置。
不过,最大的问题是 Git 还安装了自己版本的 GnuPG (gpg.exe),并默认使用它。Git 附带的版本使用%USERPROFILE%.gnupg。在现代版本的 Windows 上,这将是 C:\Users%USERNAME%.gnupg。
https://superuser.com/questions/1068980/where-is-my-gpgconf-file-on-windows
| 归档时间: |
|
| 查看次数: |
1775 次 |
| 最近记录: |