git是分佈式的代碼管理工具,遠程的代碼管理是基於ssh的,因此要使用遠程的git則須要ssh的配置。簡單的說,Git - 版本控制工具;Github是一個網站,提供給用戶空間建立git倉儲,保存用戶的一些數據文檔或者代碼等;GitLab是基於Git的項目管理軟件git
首先,使用代碼管理工具把本地的代碼上傳到服務器時須要加密處理,加密傳輸的算法有不少種,git可以使用rsa,rsa要解決的一個核心問題是,如何使用一對特定的數字,使其中一個數字能夠用來加密,而另一個數字能夠用來解密。這兩個數字就是你在使用git和github,gitlab的時候所遇到的public key也就是公鑰以及private key私鑰。github
其中,公鑰就是那個用來加密的數字,這也就是爲何你在本機生成了公鑰以後,要上傳到github的緣由。從github發回來的,用那公鑰加密過的數據,能夠用你本地的私鑰來還原。若是你的key丟失了,無論是公鑰仍是私鑰,丟失一個都不能用了,解決方法也很簡單,刪除原有的key,從新再生成一次,而後在github.com裏再設置一次就行在我的電腦生成ssh密鑰後,會同時生成一個公開密鑰和一個私有密鑰,默認狀況下在用戶主目錄下的.ssh目錄中,密鑰爲id_rsa,公開密鑰爲id_rsa.pub。算法
密鑰和公開密鑰是共同使用的,協同開發中,通常會將公鑰配置在服務器中,這樣方便常常登陸,也不須要輸入密碼,這是如今集羣和各類雲平臺經常使用的登陸方式,密鑰在本地不被泄漏就很是安全。安全
密鑰和公開密鑰是共同使用的,協同開發中,通常會將公鑰配置在服務器中,這樣方便常常登陸,也不須要輸入密碼,這是如今集羣和各類雲平臺經常使用的登陸方式,密鑰在本地不被泄漏就很是安全。服務器
打開電腦終端,輸入如下命令:ssh
ls -al ~/.ssh
會出現兩種狀況 分佈式
繼續上一步可能出現的狀況 工具
(1)狀況一:終端出現文件id_rsa.pub 或 id_dsa.pub,則表示該電腦已經存在SSH Key,此時可繼續輸入命令:gitlab
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"
pbcopy < ~/.ssh/id_rsa.pub
Gitlab--登陸--進入項目--右側settings---Repository---Deploy Keys---title、key分別添加後點擊」Add key"
注意點:
Jenkins添加從Git拉取代碼的key是私鑰key
查看私鑰key:
pbcopy < ~/.ssh/id_rsa