首頁 > 軟體

GitHub設定SSH Key的完整步驟

2022-03-23 13:00:11

https://github.com/xiangshuo1992/preload.git
git@github.com:xiangshuo1992/preload.git

這兩個地址展示的是同一個專案,但是這兩個地址之間有什麼聯絡呢?

前者是https url 直接有效網址開啟,但是使用者每次通過git提交的時候都要輸入使用者名稱和密碼,有沒有簡單的一點的辦法,一次設定,永久使用呢?當然,所以有了第二種地址,也就是SSH URL,那如何設定就是本文要分享的內容。

GitHub設定SSH Key的目的是為了幫助我們在通過git提交程式碼是,不需要繁瑣的驗證過程,簡化操作流程。

步驟

一、設定git的user name和email

如果你是第一次使用,或者還沒有設定過的話需要操作一下命令,自行替換相應欄位。

git config --global user.name "Luke.Deng"
git config --global user.email  "xiangshuo1992@gmail.com"

說明:git config --list 檢視當前Git環境所有設定,還可以設定一些命令別名之類的。

二、檢查是否存在SSH Key

cd ~/.ssh
ls
或者
ll
//看是否存在 id_rsa 和 id_rsa.pub檔案,如果存在,說明已經有SSH Key

如下圖

如果沒有SSH Key,則需要先生成一下

ssh-keygen -t rsa -C "xiangshuo1992@gmail.com"

執行之後繼續執行以下命令來獲取SSH Key

cd ~/.ssh
ls
或者
ll
//看是否存在 id_rsa 和 id_rsa.pub檔案,如果存在,說明已經有SSH Key

三、獲取SSH Key

cat id_rsa.pub
//拷貝祕鑰 ssh-rsa開頭

如下圖

四、GitHub新增SSH Key

GitHub點選使用者頭像,選擇setting

新建一個SSH Key

取個名字,把之前拷貝的祕鑰複製進去,新增就好啦。

五、驗證和修改

測試是否成功設定SSH Key

ssh -T git@github.com
//執行結果出現類似如下
Hi xiangshuo1992! You've successfully authenticated, but GitHub does not provide shell access.

之前已經是https的連結,現在想要用SSH提交怎麼辦?

直接修改專案目錄下 .git資料夾下的config檔案,將地址修改一下就好了。

git地址獲取可以看如下圖切換。

驗證原理

SSH登入安全性由非對稱加密保證,產生金鑰時,一次產生兩個金鑰,一個公鑰,一個私鑰,在git中一般命名為id_rsa.pub, id_rsa。

那麼如何使用生成的一個私鑰一個公鑰進行驗證呢?

本地生成一個金鑰對,其中公鑰放到遠端主機,私鑰儲存在本地

當本地主機需要登入遠端主機時,本地主機向遠端主機傳送一個登入請求,遠端收到訊息後,隨機生成一個字串並用公鑰加密,發回給本地。本地拿到該字串,用存放在原生的私鑰進行解密,再次傳送到遠端,遠端比對該解密後的字串與源字串是否等同,如果等同則認證成功。

總結

到此這篇關於GitHub設定SSH Key的文章就介紹到這了,更多相關GitHub設定SSH Key內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com