Git commit每次都要求OpenPGP密钥

bbuxkriu  于 2023-05-15  发布在  Git
关注(0)|答案(5)|浏览(241)

我已经是一个linux用户很长一段时间了,最近我开始使用macbook。作为设置过程的一部分,我做了通常的“让git运行起来”,其中包括创建一个ssh密钥。一切都很顺利我还必须安装gpg,因为git不允许我提交,除非我的提交被签名,这很公平。我生成了密钥,并给了它一个密码。成功了,我可以自由地承诺了!算是吧
每当我尝试提交任何东西时,我都会收到以下消息,并被迫输入我的密码“请输入密码以解锁OpenPGP密钥:”现在,我已经在互联网上搜索了很多关于如何在git推送时记住密码的文章(我已经配置了),以及所有其他类型的无关文章。我的同事没有这个问题,我也找不到一种方法来避免每次都要输入密码。
希望有一个超级简单的如何我错过了凭借不知道正确的关键字。
提前感谢。

wkyowqbh

wkyowqbh1#

我按照这个指南,并能够得到用户界面对话框,其中要求保存密码的钥匙链。在MacOS Monterey 12.0.1中使用。

  1. ~/.gnupg/gpg-agent.conf的内容:
pinentry-program /opt/homebrew/bin/pinentry-mac
enable-ssh-support

1.之后,杀死所有GnuPG进程(并非所有进程都已安装):

killall gpg-agent
killall gpg2
killall gpg
killall dirmngr

1.运行以下测试:

echo "Test" | gpg -as

Pinentry Mac的对话框(如上所示)应该会显示出来。
对于我的GPG设置,我遵循了this gist的指南。

k5ifujac

k5ifujac2#

现在,我已经在互联网上搜索过了,发现了很多关于如何在git推送时记住密码的文章(我已经配置了),以及所有其他不相关的文章。
你这是什么意思?你都做了些什么我不确定我的回答是否有帮助,因为你可能已经做了,但是你可以改变pgp配置。在我的例子中,我也有同样的事情,所以我所做的就是增加pgp允许缓存我的密码的最大时间。
将以下内容添加到~/.gnupg/gpg-agent.conf的内容:

default-cache-ttl 604800
max-cache-ttl 604800

604800 ~> 1周(秒)。

wqnecbli

wqnecbli3#

如果您正在使用Visual Studio Code。通过单击帐户注册git。如果你登录了,无论何时想推送都不需要输入密码

oiopk7p5

oiopk7p54#

您的同事可能已选中此框以将其GPG密钥密码存储到其Mac OS/ OS X密钥链中。
当输入GPG密钥密码时,您将看到一个复选框,询问您是否要将密码存储在钥匙串中。
要手动启用此功能,请导航到系统首选项应用程序,然后转到GPG Suite(或旧版本的GPGPGPreferences),并勾选“存储在OS X钥匙串中”选项。
如果上述方法不适用于您,您的钥匙链中可能存储了错误的密码。要纠正这个问题,请打开“keychain”应用程序,搜索gnupg -并编辑密码以使其正确。
如果这两个都不起作用,那么有可能你没有看到GPG密钥密码对话框,而是SSH私钥密码对话框-它也可以存储在你的密钥链中。

yxyvkwin

yxyvkwin5#

git config --global commit.gpgsign true

相关问题