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裏再設置一次就行
密鑰和公開密鑰是共同使用的,協同開發中,一般會將公鑰配置在服務器中,這樣方便經常登錄,也不需要輸入密碼,這是現在集羣和各種雲平臺常用的登錄方式,密鑰在本地不被泄漏就非常安全。
步驟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 "[email protected]"
(注意,這裏的 [email protected] 是你自己的郵箱(例如:33******@qq.com),選一般的常用的郵箱即可,不常用的郵箱一般不推薦)
默認會在相應路徑下(/your_home_path)生成id_rsa和id_rsa.pub兩個文件,此時終端會顯示:
連續回車即可,也可能會讓你輸入密碼,密碼就是你的開機密碼
此時再輸入命令:ls -al ~/.ssh 就會出現id_rsa.pub 和 id_dsa.pub兩個文件,然後重複情況一的步驟即輸入以下命令再進行步驟3 輸入:
pbcopy < ~/.ssh/id_rsa.pub
/********************到此生成sshkey 完成**********************************/
下面就是將SSH Key添加到GitLab中:
打開GitLab, 登錄,找到個人中心中的:
把剛剛複製的內容(直接粘貼操作就好)粘貼到下方key出,Title可以不寫,會自動識別出key中的郵件名填充的;