我在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的解决方案均不适用于我。
答案 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
是否正常工作