我在Windows 10专业版计算机上尝试进行git拉取,而无需每次都输入我的SSH密码。密钥对已生成,带有密码,并且公钥已成功添加到我的 GitLab 帐户中。
在“服务”GUI中,我可以看到“OpenSSH身份验证代理”正在运行,在PowerShell中,如果我这样做Get-Service ssh-agent
,我会看到以下内容,确认相同的信息:
Status Name DisplayName
------ ---- -----------
Running ssh-agent OpenSSH Authentication Agent
当我执行 ssh -T git@gitlab.com
时,我收到“欢迎使用 Gitlab”消息,指示成功的 ssh 连接,没有密码输入。
我运行了ssh代理并添加了标识(通过运行svn add
,输入密码短语,并获得成功消息)。运行“ssh-Tgit@gitlab.com“在同一终端中成功,无需密码短语。
在终端中,我可以运行git命令(例如git推送
或git拉取
),每次我都会收到密码提示,操作成功。
git远程源url是此处描述格式的SSH url;它不是HTTPS URL。第二个投票最多的答案和下面关于同一问题的另一个答案表明,一旦能够在没有密码短语的情况下执行ssh命令,git命令也可以在没有密码词组的情况下工作,这不是我在这里看到的。
我的~./ssh/config
文件条目是:
User git
Hostname gitlab.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/gitlab_id_ed25519
AddKeysToAgent yes
如何让git使用存储在ssh-agent中的密码短语,而不是每次都提示?
首先,按照以下说明(此处也有说明)将GIT_SSH环境变量设置为C:\Windows\System32\OpenSSH\SSH。exe
,这是解决方案的核心。
在新的控制台中,您应该能够< code>git push和< code>git pull等。没有密码,GUI同步选项也不会出错。
我正在使用Windows 7。我的公司在我们自己的git服务器上存储了一些回购协议。最近我还不得不使用GitHub,但自从我访问了GitHub上的回购协议之后,git bash的表现就非常不稳定。 归根结底,每次我打开git bash,如果我尝试拉,我会得到:“错误:无法跨越git:没有这样的文件或目录。” 我的git版本是2.18.0。窗户。1. 我发现每次启动git-bash时都必须手动执行此
切换到一台新电脑后,我不得不再次安装SmartGIT for Windows,现在尝试克隆我的fedorahosted。组织存储库。密钥存储在C:/User/myusername/中。ssh,SmartGIT提供了一个干净的安装,克隆我的存储库的URL是正确的-不幸的是,SmartGIT没有要求密钥,它只是尝试连接到fedorahosted。但是当然失败了。 所以这里可能出了什么问题?我必须把ss
我按照github教程中的指示创建了键,在github中注册了它们,并尝试显式地使用ssh-agent--但是每次我尝试进行拉或推操作时,git都会继续向我询问密码短语。 原因可能是什么?
问题内容: 每次我尝试将任何内容推送到GitHub时,它都会询问我地址,然后它要求密码。有没有办法使它自动化? 我正在使用Linux Ubuntu。 问题答案: 您可以用来记住密码(通常,Gnome会自动为您运行密码)。 从现在开始,在您运行此程序的终端中,您的密码将被记住。 理想情况下,它会自动运行,因此在gnome中运行的所有shell都可以工作。查看Gnome Keyring 。
问题内容: 我正在尝试使用GitHub托管存储库(使用Jenkins Git插件)启动Jenkins并使其运行。该存储库具有多个git子模块,因此我不确定我是否想尝试和管理多个部署密钥。 我的个人GitHub用户帐户是我希望与Jenkins进行的每个项目的合作者,因此我在其中生成了一个SSH密钥并将其添加到我的个人GitHub帐户中。 但是,当我尝试将存储库URL添加到我的Jenkins项目配置中
我正在尝试让Jenkins启动并运行一个GitHub托管的存储库(使用Jenkins Git插件)。存储库有多个git子模块,所以我不确定是否要尝试管理多个部署密钥。 我的个人GitHub用户帐户是我希望与Jenkins合作的每个项目的合作者,因此我在并将其添加到我的个人GitHub帐户。 但是,当我尝试将存储库URL添加到我的Jenkins项目配置时,我会得到: 同样,当我计划构建时,我得到: