本地 git 客戶端生成 ssh key,然后配置在 gitlab 里,而后使用 ssh 協(xié)議進(jìn)行提交和拉取 git 遠(yuǎn)程倉(cāng)庫(kù)的代碼。
git 是分布式的代碼管理工具,遠(yuǎn)程的代碼管理是基于 ssh 的,所以要使用遠(yuǎn)程的 git 則需要 ssh 的配置。簡(jiǎn)單的說(shuō),Git - 版本控制工具;Github是一個(gè)網(wǎng)站,提供給用戶空間創(chuàng)建git倉(cāng)儲(chǔ),保存用戶的一些數(shù)據(jù)文檔或者代碼等;GitLab 是基于 Git 的項(xiàng)目管理軟件
首先,使用代碼管理工具把本地的代碼上傳到服務(wù)器時(shí)需要加密處理,加密傳輸?shù)乃惴ㄓ泻芏喾N,git可使用rsa,rsa要解決的一個(gè)核心問(wèn)題是,如何使用一對(duì)特定的數(shù)字,使其中一個(gè)數(shù)字可以用來(lái)加密,而另外一個(gè)數(shù)字可以用來(lái)解密。這兩個(gè)數(shù)字就是你在使用git和github,gitlab的時(shí)候所遇到的public key也就是公鑰以及private key私鑰。
其中,公鑰就是那個(gè)用來(lái)加密的數(shù)字,這也就是為什么你在本機(jī)生成了公鑰之后,要上傳到github的原因。從github發(fā)回來(lái)的,用那公鑰加密過(guò)的數(shù)據(jù),可以用你本地的私鑰來(lái)還原。如果你的key丟失了,不管是公鑰還是私鑰,丟失一個(gè)都不能用了,解決方法也很簡(jiǎn)單,刪除原有的key,重新再生成一次,然后在github.com里再設(shè)置一次就行
在個(gè)人電腦生成ssh密鑰后,會(huì)同時(shí)生成一個(gè)公開密鑰和一個(gè)私有密鑰,默認(rèn)情況下在用戶主目錄下的.ssh目錄中,密鑰為id_rsa,公開密鑰為id_rsa.pub。
密鑰和公開密鑰是共同使用的,協(xié)同開發(fā)中,一般會(huì)將公鑰配置在服務(wù)器中,這樣方便經(jīng)常登錄,也不需要輸入密碼,這是現(xiàn)在集群和各種云平臺(tái)常用的登錄方式,密鑰在本地不被泄漏就非常安全。
步驟 1. 檢查是否已經(jīng)存在SSH Key
打開電腦終端,輸入以下命令:
ls -al ~/.ssh
會(huì)出現(xiàn)兩種情況
步驟 2. 生成/設(shè)置SSH Key
繼續(xù)上一步可能出現(xiàn)的情況
(1)情況一:終端出現(xiàn)文件 id_rsa.pub 或 id_dsa.pub,則表示該電腦已經(jīng)存在 SSH Key,此時(shí)可繼續(xù)輸入命令:
pbcopy < ~/.ssh/id_rsa.pub
這樣你需要的SSH Key 就已經(jīng)復(fù)制到粘貼板上了,然后進(jìn)行步驟3
(2)情況二:終端未出現(xiàn) id_rsa.pub 或 id_dsa.pub 文件,表示該電腦還沒(méi)有配置 SSH Key,此時(shí)需要輸入命令:
ssh-keygen -t rsa -C "your_email@example.com"
(注意,這里的 your_email@example.com 是你自己的郵箱,選一般的常用的郵箱即可,筆者當(dāng)時(shí)用的是騰訊企業(yè)郵箱,就出現(xiàn)了一點(diǎn)小問(wèn)題,所以不常用的郵箱一般不推薦) 默認(rèn)會(huì)在相應(yīng)路徑下(/your_home_path)生成 id_rsa 和 id_rsa.pub 兩個(gè)文件,此時(shí)終端會(huì)顯示:
Generating public/private rsa key pair.
Enter file in which to save the key (/your_home_path/.ssh/id_rsa):
連續(xù)回車即可,也可能會(huì)讓你輸入密碼,密碼就是你的開機(jī)密碼
此時(shí)再輸入命令:ls -al ~/.ssh 就會(huì)出現(xiàn) id_rsa.pub 和 id_dsa.pub 兩個(gè)文件,然后重復(fù)情況一的步驟即輸入以下命令再進(jìn)行步驟3即可:
pbcopy < ~/.ssh/id_rsa.pub
步驟 3.將SSH Key 添加到 GitLab 中
打開 GitLab, 登錄,找到左邊欄有一個(gè) add Key