在GitLab/GitHub(Mac環境)使用SSH Key

一、概念介紹

git是分布式的代碼管理工具,遠程的代碼管理是基于ssh的,所以要使用遠程的git則需要ssh的配置。簡單的說,Git - 版本控制工具;Github是一個網站,提供給用戶空間創建git倉儲,保存用戶的一些數據文檔或者代碼等;GitLab是基于Git的項目管理軟件

? 首先,使用代碼管理工具把本地的代碼上傳到服務器時需要加密處理,加密傳輸的算法有很多種,git可使用rsa,rsa要解決的一個核心問題是,如何使用一對密鑰,使其中一個可以用來加密,而另外一個可以用來解密。這這對密鑰就是public key(公鑰)和private key(私鑰)。

? 其中,公鑰就是那個用來加密的密鑰,這也就是為什么你在本機生成了公鑰之后,要上傳到github的原因。從github發回來的,用那公鑰加密過的數據,可以用你本地的私鑰來還原。如果你的key丟失了,不管是公鑰還是私鑰,丟失一個都不能用了,解決方法也很簡單,刪除原有的key,重新再生成一次,然后在GitHub/GitLab里再設置一次就行

在個人電腦生成ssh密鑰后,會同時生成一個公開密鑰和一個私有密鑰,默認情況下在用戶主目錄下的.ssh目錄中,密鑰為id_rsa,公開密鑰為id_rsa.pub。

密鑰和公開密鑰是共同使用的,協同開發中,一般會將公鑰配置在服務器中,這樣方便經常登錄,也不需要輸入密碼,這是現在集群和各種云平臺常用的登錄方式,密鑰在本地不被泄漏就非常安全。

二、如何生成并設置SSH Key

步驟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"

默認會在相應路徑下(/your_home_path)生成id_rsa和id_rsa.pub兩個文件,此時終端會顯示:

Generating public/private rsa key pair.

Enter file in which to save the key (/your_home_path/.ssh/id_rsa):

連續回車即可,也可能會讓你輸入密碼,密碼就是你的開機密碼

此時再輸入命令:ls -al ~/.ssh 就會出現id_rsa.pub 和 id_dsa.pub兩個文件,然后重復情況一的步驟即輸入以下命令再進行步驟3即可:

pbcopy < ~/.ssh/id_rsa.pub

步驟3.將SSH Key添加到GitLab中

? 打開GitLab, 登錄->點擊右上角的用戶頭像->點擊settings->在settings里找到SSH的設置->點擊“ADD SSH KEY”按鈕添加->將已經獲得的SSH Key粘貼到“Key”,標題可以隨便取,這樣就保持了本地與服務器端的聯系.

三、修改連接方式

步驟1.查看當前地址

git remote -v

若是http(s)://XXXX/XXX.git形式,則說明目前配置的連接方式為http(s)
若是git@XXXX/XXX.git形式,則說明目前配置的連接方式為ssh

步驟2.設置新地址

git remote set-url origin [你想要設置的新地址]

步驟3.使用步驟1的方法查看是否修改成功

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容