如何通過SSH將TortoiseGit小烏龜關聯GitLab


需求:

  公司代碼用的是GitLab做代碼托管,所以我們代碼提交和拉取也需要git;之前是用SVN做管理代碼,所以直接下載安裝了一個漢化版的TortoiseSVN,平時開發也是非常方便;現在用git管理,所以自然想到,是否也有類似的客戶端工具提供使用,而不用去搗鼓哪些復雜的git命令;

  沒想到,還真有TortoiseGit提供使用,於是安裝了一個漢化版,開干;

 

問題:這個時候,問題來了,本地電腦與git有兩種驗證方式,一個是賬戶HTTPS,一個是使用SSH密鑰,相對而言后者更為安全,而且還可以方便在家和公司同時安排。

  按我們之前的理解,於是直接在本地通過git指令生成密鑰,放到gitlab上,放上去是沒有問題,但是本地想通過SSH方式克隆代碼,卻一直提示“密鑰驗證不通過”。

 

為什么:於是查閱了資料,發現TortoiseGit小烏龜使用擴展名為ppk的密鑰,而不是ssh-keygen生成的rsa密鑰,簡而言之,使用命令ssh-keygen -C "郵箱地址" -t rsa產生的密鑰在TortoiseGit中不能用。如下圖

 

操作:於是按着教程,通過TortoiseGit小烏龜自帶的工具puttygen生成RSA密鑰,工具位置如下圖。但是生成之后,你會發現,問題又來了,通過這個工具生成的密鑰,復制到gitlab上,一直提示密鑰格式有誤。

 

 

解決:最終查詢資料,和處理方式如下:

1、我們首先還是通過git指令生成本地密鑰

#(如果之前沒有配置的話)先配置git的全局變量user.name,user.email,這一步必須配置
git config --global user.name "username"
git config --global user.email "useremail@qq.com"

#生成密鑰
ssh-keygen -t rsa -C  "useremail@qq.com"

#直接連續回車,不需要密碼的話。

#這條命令將默認在C:\Users\user.ssh目錄下創建id_rsa,id_rsa.pub,這就是我們需要的RSA私鑰和公鑰

2、通過如上操作后,我們就生成了私鑰和公鑰,我們還是按剛才操作的,將C:\Users\user.ssh\id_rsa.pub,全部信息復制下來,添加到gitlab和github中。

3、添加成功后,然后再打開,剛才說的那個TortoiseGit小烏龜自帶的工具puttygen密鑰工具,將我們的git生成的C:\Users\user.ssh\id_rsa私鑰轉換成 1.ppk結尾的私鑰

 

 4、然后我們再克隆,加載密鑰選擇,我們剛才生成的 1.ppk密鑰,即可成功克隆。

 

 最后:其實這里就可以看出,之前的密鑰匙是沒有問題的,只是說兩者的格式問題導致,現在給他做了一個格式的切換而已。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM