問題
在 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 git@xxx.com
來看,輸出的內容有讀取的 ssh-key 的目錄和列表, - 配置多個 ssh-key 需要指定哪個 host 使用具體的哪個 ssh-key
- 最大大問題就在於 gitlab 的 ssh-keys 頁面上面有個 generate it 的鏈接,教你如何配置,只看到了上面的添加 key,沒看到下面的添加非默認key的解決辦法!!!