git clone在ssh模式始终要求输入密码?而且永远都不对

问题
在 gitlab 里已经配置里 ssh-keys,但是使用 ssh clone 项目的时候需要如下一样的输入密码,而且无论输入什么都不对导致无法 clone 项目。

解决办法
一. 使用 http 方式 clone
这个办法就是快速解决 clone 项目的,直接使用 git clone http://xxx.com/yyy/zzz.git ,只需要 输入一次 gitlab 账号密码就行。

二. 配置 ssh 的 config 文件
可能有些童鞋就是想用 ssh clone,不然就难受,比如鄙人,这个时候你可以看一下,在 .ssh/ 里面是否配了多个 id_rsa.pub,我就是之前配了一个自用 ssh-key,默认为id_rsa,所以新生成了个公司用的 id_rsa_sh,gitlab上配置的就是这个 id_rsa_sh,从而导致的这个问题。
解决办法就是在 .ssh/ 下的 config 文件里加上你新增的 ssh-key,如下:

# GitLab.com server
Host xxx.com
RSAAuthentication yes
IdentityFile /Users/maple/.ssh/id_rsa_sh

这里的 id_rsa_sh 改为你自己的 ssh-key 就行了。如果没有 config 文件就 touch 一个。
我遇到的问题到这里就结束了,分析下问题原因:

ssh 链接默认用的 id_rsa,这个可以使用 ssh -vT [email protected] 来看,输出的内容有读取的 ssh-key 的目录和列表,
配置多个 ssh-key 需要指定哪个 host 使用具体的哪个 ssh-key
最大大问题就在于 gitlab 的 ssh-keys 页面上面有个 generate it 的链接,教你如何配置,只看到了上面的添加 key,没看到下面的添加非默认key的解决办法!!!

你可能感兴趣的:(git clone在ssh模式始终要求输入密码?而且永远都不对)