git是分布式的代碼管理工具,遠(yuǎn)程的代碼管理是基于ssh的,所以要使用遠(yuǎn)程的git則需要ssh的配置。簡(jiǎn)單的說(shuō),Git - 版本控制工具;Github是一個(gè)網(wǎng)站,提供給用戶(hù)空間創(chuàng)建git倉(cāng)儲(chǔ),保存用戶(hù)的一些數(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或gitLab里再設(shè)置一次就行
在個(gè)人電腦生成ssh密鑰后,會(huì)同時(shí)生成一個(gè)公開(kāi)密鑰和一個(gè)私有密鑰,默認(rèn)情況下在用戶(hù)主目錄下的.ssh目錄中,密鑰為id_rsa,公開(kāi)密鑰為id_rsa.pub。
可以使用快捷功能鍵 shift+command+g 輸入 ~/.ssh進(jìn)行查看
1. 查看是否已經(jīng)存在了
打開(kāi)電腦終端,輸入以下命令:ls -al ~/.ssh
如果沒(méi)有 ~/.ssh 文件夾,則需要手動(dòng)創(chuàng)建一個(gè)
2.步驟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ù)回車(chē)即可,也可能會(huì)讓你輸入密碼,密碼就是你的開(kāi)機(jī)密碼
此時(shí)再輸入命令:ls -al ~/.ssh 就會(huì)出現(xiàn)id_rsa.pub 和 id_dsa.pub兩個(gè)文件,然后重復(fù)情況一的步驟即輸入以下命令再進(jìn)行步驟3即可:pbcopy < ~/.ssh/id_rsa.pub