git是分布式的代碼管理工具,遠程的代碼管理是基於ssh的,所以要使用遠程的git則需要ssh的配置。簡單的說,Git - 版本控制工具;Github是一個網站,提供給用戶空間創建git倉儲,保存用戶的一些數據文檔或者代碼等;GitLab是基於Git的項目管理軟件
首先,使用代碼管理工具把本地的代碼上傳到服務器時需要加密處理,加密傳輸的算法有很多種,git可使用rsa,rsa要解決的一個核心問題是,如何使用一對特定的數字,使其中一個數字可以用來加密,而另外一個數字可以用來解密。這兩個數字就是你在使用git和github,gitlab的時候所遇到的public key也就是公鑰以及private key私鑰。
其中,公鑰就是那個用來加密的數字,這也就是為什么你在本機生成了公鑰之后,要上傳到github的原因。從github發回來的,用那公鑰加密過的數據,可以用你本地的私鑰來還原。如果你的key丟失了,不管是公鑰還是私鑰,丟失一個都不能用了,解決方法也很簡單,刪除原有的key,重新再生成一次,然后在github.com里再設置一次就行在個人電腦生成ssh密鑰后,會同時生成一個公開密鑰和一個私有密鑰,默認情況下在用戶主目錄下的.ssh目錄中,密鑰為id_rsa,公開密鑰為id_rsa.pub。
密鑰和公開密鑰是共同使用的,協同開發中,一般會將公鑰配置在服務器中,這樣方便經常登錄,也不需要輸入密碼,這是現在集群和各種雲平台常用的登錄方式,密鑰在本地不被泄漏就非常安全。
在個人電腦生成ssh密鑰后,會同時生成一個公開密鑰和一個私有密鑰,默認情況下在用戶主目錄下的.ssh目錄中,密鑰為id_rsa,公開密鑰為id_rsa.pub。
密鑰和公開密鑰是共同使用的,協同開發中,一般會將公鑰配置在服務器中,這樣方便經常登錄,也不需要輸入密碼,這是現在集群和各種雲平台常用的登錄方式,密鑰在本地不被泄漏就非常安全。
步驟1.檢查是否已經存在SSH Key
打開電腦終端,輸入以下命令:
ls -al ~/.ssh
會出現兩種情況
步驟2. 生成/設置SSH Key
繼續上一步可能出現的情況
(1)情況一:終端出現文件id_rsa.pub 或 id_dsa.pub,則表示該電腦已經存在SSH Key,此時可繼續輸入命令:
pbcopy < ~/.ssh/id_rsa.pub
這樣你需要的SSH Key 就已經復制到粘貼板上了,然后進行步驟3
(2)情況二:終端未出現id_rsa.pub 或 id_dsa.pub文件,表示該電腦還沒有配置SSH Key,此時需要輸入命令:
ssh-keygen -t rsa -C "your_email@example.com"
連續回車即可,也可能會讓你輸入密碼,密碼就是你的開機密碼 (注:Jenkins中添加秘鑰時,Passphrase要寫此處輸入的密碼)

pbcopy < ~/.ssh/id_rsa.pub
步驟3.將SSH Key添加到GitLab中(注:此處添加的是公鑰key)
Gitlab--登錄--進入項目--右側settings---Repository---Deploy Keys---title、key分別添加后點擊”Add key"
注意點:
Jenkins添加從Git拉取代碼的key是私鑰key
查看私鑰key:
pbcopy < ~/.ssh/id_rsa