git clone不使用配置的SSH密钥

时间:2019-11-02 20:39:10

标签: git ssh

我在http://git.example.com/repo.git上托管了一个仓库。

在一台特定的计算机(“计算机1”)上,我可以运行git clone http://git.example.com/repo.git,并且可以正常运行,因为我已将~/.ssh/config配置为对{使用一个特定的用户名和私钥{1}}。

在另一台计算机(“计算机2”)上,我设置了git.example.com,并且我从计算机2的~/.ssh/config目录中的计算机1获得了完全相同的公钥和私钥。但是,当我从计算机2运行~/.ssh时,系统提示git clone http://git.example.com/repo.git,这显然意味着计算机2无法成功读取Username for 'http://git.example.com'设置,指出要使用的用户名和SSH密钥。

因此,两台不同的计算机,相同的配置AFAICT,但一台可以工作,而另一台不起作用。

如何解决/解决此问题?

编辑:我应该补充一点,计算机2中的~/.ssh/config可以正常工作,这意味着我的ssh my-user@git.example.com可以达到预期的目的,只是不克隆我的仓库。

此外,我的克隆操作必须通过HTTP / HTTPS进行,而不能通过任何其他协议进行,因此,任何非HTTP / HTTPS的解决方案均不适用于我。

1 个答案:

答案 0 :(得分:1)

如果克隆http[s]://git.example.com/repo.git,则必须使用一种http身份验证。

如果克隆git@git.example.com/repo.git,则使用的是ssh,因此它可以是密码或密钥验证。

请在您的文件夹中运行git config remote.origin.url来查看url

,并且您必须检查ssh git@git.example.com是否正常工作