首页 > 解决方案 > git clone 不使用配置的 SSH 密钥

问题描述

我有一个托管在http://git.example.com/repo.git.

在一台特定的计算机(“计算机 1”)上,我能够运行git clone http://git.example.com/repo.git并且它工作得很好,因为我已~/.ssh/config配置为使用特定的用户名和私钥git.example.com

在另一台计算机(“计算机 2”)上,我进行~/.ssh/config了相同的设置,并且我在计算机 2 的目录中拥有来自计算机 1 的完全相同的公钥和私钥~/.ssh。但是,当我git clone http://git.example.com/repo.git从计算机 2 运行时,我得到提示Username for 'http://git.example.com',显然意味着计算机 2 没有成功读取~/.ssh/config说明使用哪个用户名和 SSH 密钥的设置。

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

我该如何解决/解决这个问题?

编辑:我应该ssh my-user@git.example.com从计算机 2 中添加它工作正常,这意味着我的~/.ssh/config工作符合预期,只是没有克隆我的回购。

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

标签: gitssh

解决方案


如果你克隆http[s]://git.example.com/repo.git 你必须使用一种 http authentification 。

如果您克隆 git@git.example.com/repo.git 您正在使用 ssh ,那么它可以是密码或密钥验证。

git config remote.origin.url在您的文件夹中运行以查看 url 是什么

你必须检查它ssh git@git.example.com是否有效


推荐阅读