gitlab配置sshkey免密拉取代碼

應用情景

        當前很多公司都選擇git作爲代碼版本控制工具,然後自己公司搭建私有的gitlab來管理代碼,我們在clone代碼的時候可以選擇https協議,當然我們亦可以選擇ssh協議來拉取代碼。但是網上很少找到如何用git客戶端生成ssh key,然後配置在gitlab,那麼本文,我們就來聊一聊如何本地git客戶端生成ssh key,然後配置在gitlab裏,而後使用ssh協議進行提交和拉取git遠程倉庫的代碼。

配置方式

1. 打開本地安裝好的git bash,使用如下命令生成ssh公鑰和私鑰對

ssh-keygen -t rsa -C '[email protected]' 然後一路回車(-C 參數是你的郵箱地址)

當然passphrase可以設置密碼,有的公司要求要有密碼設置限制。

即使設置也就輸入一次即可。

2.然後打開~/.ssh/id_rsa.pub文件(~表示用戶目錄,比如我的windows就是C:\Users\mazq),複製其中的內容

3. 打開gitlab,點擊頭像,找到Settings-->SSH Keys--->Add SSH Key,並把上一步中複製的內容粘貼到Key所對應的文本框,在Title對應的文本框中給這個sshkey設置一個名字,點擊Add key按鈕

4. 到此就完成了gitlab配置ssh key的所有步驟,我們就可以愉快的使用ssh協議進行代碼的拉取以及提交等操作了

驗證命令:ssh -T [email protected]

5. 再試一下拉取代碼和提交代碼,應該就不需要輸入密碼了或者只輸入一次密碼。

異常情況

git clone [email protected]是可用的,git clone https是失敗的或者一直彈要求輸入git賬號、密碼之後也失敗。

解決方案:

登錄gitlab之後,配置好ssh key相關功能。

點擊頭像,找到Settings-->Password--->重置單點登錄代碼。

使用個人密碼,不用sso。

總結

我們爲什麼要使用ssh協議呢?因爲ssh更加安全,然後更加方便,比如我們公司用的https協議,那麼如果你是使用http協議管理代碼,那麼需要修改所有的項目中的git地址變成https,這會把我們給逼瘋的!但是如果我們一開始就是用ssh協議,這不需要任何的修改,簡直不能再爽一點了。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章