禁用每次提交的输入密码
Disable enter passphrase for each commit
1。摘要
我无法禁用每次输入密码,我是如何提交的。
2。环境
- Windows 10 企业 LTSB 64 位 EN,
- git 2.16.2.windows.1,
- gpg-agent (GnuPG) 2.2.4,
- gpg4win 3.0.3.
3。重现步骤
→ 我移动到包含 .git
子文件夹的文件夹 →
git add .
,
git commit -m "Any description"
.
4。预期行为
无需输入密码即可成功签署提交。
5。实际行为
我得到 window,我需要输入我的密码:
pinentry-qt
Please enter the passphrase to unlock the OpenPGP secret key:
我每次提交时都需要输入我的密码;
排除:提交之间的时间很短。
6。没有帮助
我在我的 USERPROFILE
文件夹中找到 — C:\Users\SashaChernykh
— .gnupg\gpg-agent.conf
文件。我尝试添加到此文件 , batch or no-use-agent 行:
no-tty
batch
no-use-agent
我仍然得到实际行为,不是预期的。
7。不提供
- 请不要说我每次都必须输入密码;
- 或者我可以进行未签名的提交;
- I can set big values 对于
C:\Users\SashaChernykh\.gnupg\gpg-agent.conf
文件中的 default-cache-ttl
和 max-cache-ttl
参数,但它不会禁用密码输入。
与 Git 无关,您需要 gpg-agent 运行ning。 Git for Windows shell 已打包。这里有一些说明如何自动 运行 代理:https://medium.com/@timmywil/sign-your-commits-on-github-with-gpg-566f07762a43
运行gpg-agent 的棘手之处 - 启动后,它需要设置环境变量,以便 gpg 可以找到它的 PID 和套接字。
我认为您需要从 .gnupg\gpg-agent.conf
中删除 batch
选项和 no-use-agent
。将 use-agent
添加到 .gnupg\gpg.conf
。
default-cache-ttl
max-cache-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>
您可以将其留空,系统会询问两次以确认您是否要将其留空。之后,您的密钥的密码短语将被删除,您无需再次输入密码短语。
您还可以 select 从 Kleopatra 的详细信息 Window 更改密码(双击密钥)。
1。摘要
我无法禁用每次输入密码,我是如何提交的。
2。环境
- Windows 10 企业 LTSB 64 位 EN,
- git 2.16.2.windows.1,
- gpg-agent (GnuPG) 2.2.4,
- gpg4win 3.0.3.
3。重现步骤
.git
子文件夹的文件夹 →
git add .
,git commit -m "Any description"
.
4。预期行为
无需输入密码即可成功签署提交。
5。实际行为
我得到 window,我需要输入我的密码:
pinentry-qt
Please enter the passphrase to unlock the OpenPGP secret key:
我每次提交时都需要输入我的密码;
排除:提交之间的时间很短。
6。没有帮助
我在我的 USERPROFILE
文件夹中找到 — C:\Users\SashaChernykh
— .gnupg\gpg-agent.conf
文件。我尝试添加到此文件
no-tty
batch
no-use-agent
我仍然得到实际行为,不是预期的。
7。不提供
- 请不要说我每次都必须输入密码;
- 或者我可以进行未签名的提交;
- I can set big values 对于
C:\Users\SashaChernykh\.gnupg\gpg-agent.conf
文件中的default-cache-ttl
和max-cache-ttl
参数,但它不会禁用密码输入。
与 Git 无关,您需要 gpg-agent 运行ning。 Git for Windows shell 已打包。这里有一些说明如何自动 运行 代理:https://medium.com/@timmywil/sign-your-commits-on-github-with-gpg-566f07762a43
运行gpg-agent 的棘手之处 - 启动后,它需要设置环境变量,以便 gpg 可以找到它的 PID 和套接字。
我认为您需要从 .gnupg\gpg-agent.conf
中删除 batch
选项和 no-use-agent
。将 use-agent
添加到 .gnupg\gpg.conf
。
default-cache-ttl max-cache-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>
您可以将其留空,系统会询问两次以确认您是否要将其留空。之后,您的密钥的密码短语将被删除,您无需再次输入密码短语。
您还可以 select 从 Kleopatra 的详细信息 Window 更改密码(双击密钥)。