git - 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 的解决方案都不适用于我。
解决方案
如果你克隆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
是否有效
推荐阅读
- jquery - 使用 jquery 将单击时背景的颜色更改为多种颜色
- django - 使用相关名称查询 manyToMany 字段
- javascript - 模拟函数后如何检查属性值:断言错误,mocha
- shell - 使用 awk 如何用唯一值替换文件中的单词?
- c# - 检查两个不同的方法在模拟对象上调用相同的方法
- python - 使用 matplotlib 绘制双曲线
- r - R错误“无法加入......因为类型不兼容(列表/列表)”
- python - (2002,“无法通过套接字'/var/run/mysqld/mysqld.sock'(2)连接到本地MySQL服务器”)
- angular - 反应式表单选择标签验证
- java - 如何在 Restlet 的 ServerResource 方法中请求另一个 api 作为客户端