禁用每次提交时输入密码

问题描述 投票:0回答:4

1.总结

我无法禁用每次输入密码,我如何进行提交。


2.环境

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

3.重现步骤

我安装并设置 Gpg4win → 我移动到带有

.git
子文件夹的文件夹 →

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

4.预期行为

无需输入密码即可成功签名提交。


5.实际行为

我出现窗口,需要在其中输入我的密码:

Enter password

pinentry-qt

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

每次提交时都需要输入密码;

    排除:提交之间的时间很短。


6.没有帮助

我在我的

USERPROFILE
文件夹中找到 —
C:\Users\SashaChernykh
.gnupg\gpg-agent.conf
文件。我尝试添加到此文件 no-ttybatchno-use-agent 行:

no-tty
batch
no-use-agent

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


7.不提供

  1. 请不要要求我每次都必须输入密码;
  2. 或者我可以进行未签名的提交;
  3. 我可以为 default-cache-ttl 文件中的
    max-cache-ttl
    C:\Users\SashaChernykh\.gnupg\gpg-agent.conf
    参数设置大值
    ,但它不会禁用密码输入。
git gnupg gpg-agent git-sign
4个回答
50
投票

默认缓存 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

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

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

gpgconf --reload gpg-agent

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

Settings -> Configure Kleopatra -> GnuPG System -> Private Keys

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

expire cached PINs after N seconds
set maximum PIN cache lifetime to N seconds 

达到一些高价值。


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

在命令行上:

gpg --passwd <yourkeyid or email>

您可以将其留空,系统会询问两次以确认您要将其留空。之后,您密钥的密码将被删除,您无需再次输入密码。

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


1
投票

与 Git 无关,您需要运行 gpg-agent。 Git for Windows shell 已将其打包。这里有一些如何自动运行代理的说明:https://medium.com/@timmywil/sign-your-commits-on-github-with-gpg-566f07762a43

运行 gpg-agent 的棘手之处 - 启动后,它需要设置环境变量,以便 gpg 可以找到它的 PID 和套接字。


0
投票

我认为您需要从

batch
中删除
no-use-agent
选项和
.gnupg\gpg-agent.conf
。将
use-agent
添加到
.gnupg\gpg.conf


0
投票

在 Windows 上:

  1. 转到该特定用户的根文件:
    C:\Users\<profile.name>

    其中 profile.name 代表当前用户

  2. 打开
    .gitconfig
    文件,否则创建一个
  3. 将此行添加到文件中并保存
    [commit] gpgsign = false
© www.soinside.com 2019 - 2024. All rights reserved.