禁用每次提交的输入密码

Саш*_*ных 4 git gnupg git-sign gpg-agent

1.总结

我不能每次都禁用输入密码,我如何进行提交。


2.环境

  • Windows 10企业版LTSB 64位EN,
  • git 2.16.2.windows.1,
  • gpg-agent(GnuPG)2.2.4,
  • gpg4win 3.0.3。

3.复制步骤

我安装并设置了Gpg4win吗?我移到带有.git子文件夹的文件夹?

  • git add .
  • git commit -m "Any description"

4.预期行为

成功签署的提交,无需输入密码。


5.实际行为

我进入窗口,在这里我需要输入密码:

输入密码

pinentry-qt

请输入密码以解锁OpenPGP密钥:

每次提交时,我都需要输入密码。

???? exclude:两次提交之间的间隔时间。


6.没有帮助

我发现我的USERPROFILE文件夹- C:\Users\SashaChernykh- .gnupg\gpg-agent.conf文件。我尝试将no-ttybatchno-use-agent行添加到此文件:

no-tty
batch
no-use-agent
Run Code Online (Sandbox Code Playgroud)

我仍然得到实际的行为,这不是预期的。


7.不提供

  1. 请不要提供我每次必须输入密码的信息;
  2. 或者我可以进行未签名的提交;
  3. 我可以在文件中为default-cache-ttlmax-cache-ttl参数设置较大的值C:\Users\SashaChernykh\.gnupg\gpg-agent.conf,但不能禁用密码输入。

And*_*cke 7

默认缓存ttl最大缓存ttl

这是执行此操作的正确方法。默认超时为10分钟,因此,如果两次提交之间的间隔超过10分钟,则必须延长时间。

C:\ Users \ SashaChernykh.gnupg \ gpg-agent.conf

这不是正确的路径。这就是GNU / Linux系统上的路径。

Windows上GnuPG的主目录为%APPDATA%\ gnupg

例如

c:\Users\SashaChernykh\Appdata\Roaming\gnupg\gpg-agent.conf
Run Code Online (Sandbox Code Playgroud)

更改后,您还必须重新启动gpg-agent进程。

您可以通过在命令行上使用gpgconf来执行此操作。

gpgconf --reload gpg-agent
Run Code Online (Sandbox Code Playgroud)

使用Gpg4win更改值并检查它是否已设置的最简单方法是使用Kleopatra:

Settings -> Configure Kleopatra -> GnuPG System -> Private Keys
Run Code Online (Sandbox Code Playgroud)

您可以在其中查看和更改设置:

expire cached PINs after N seconds
set maximum PIN cache lifetime to N seconds 
Run Code Online (Sandbox Code Playgroud)

要有一些高价值。


如果您不想输入密码,只需将其从密钥中删除即可。

在命令行上:

gpg --passwd <yourkeyid or email>
Run Code Online (Sandbox Code Playgroud)

您可以将其保留为空,然后将询问两次以确认是否要保留为空。之后,您密钥的密码短语将被删除,您不必再次输入密码短语。

您也可以从Kleopatra的“详细信息”窗口中选择更改密码(双击该键)。