如何使用 SSH 金鑰保護 GitHub 訪問
將 SSH 金鑰連結到 Github 是保護帳戶安全的關鍵步驟之一。它允許您利用公鑰加密的強大功能來保護您的 Git 儲存庫。本文將向您展示什麼是 SSH 金鑰以及如何使用它們來強化您的 Github 帳戶。
什麼是 SSH 金鑰?
簡而言之,SSH 金鑰是儲存在遠端伺服器上的公鑰。它們充當身份驗證代理,允許您連接電腦並與電腦交互,而無需提供使用者名稱和密碼。
它的工作原理是,每當您透過 SSH 連接到電腦時,您的本機電腦都會發送一條由您的 SSH 私鑰簽署的訊息。然後,遠端電腦使用您的公共 SSH 金鑰來驗證訊息的真實性並讓您登入。
Github 使用相同的方法在其伺服器內驗證您的身分。每當您上傳和修改儲存庫時,網站都會使用您的公鑰。這可以確保您在推送提交時不會暴露您的 Github 憑證。
為 Github 產生 SSH 金鑰
首先,使用發行版的應用程式啟動器開啟一個新的終端機會話。
確保您已在電腦中安裝 OpenSSH 並且 SSH 代理守護程式目前正在執行:
執行下列指令啟動SSH 金鑰產生精靈:
精靈隨後將詢問您是否要為金鑰使用自訂 SSH 金鑰檔案名稱。按 Enter 接受預設名稱和位置。
輸入新 SSH 金鑰的密碼。每當您的本機電腦連接到您的 Github 帳戶時,這將作為您的本機電腦的密碼。
將新產生的 SSH 金鑰新增至目前執行的 SSH 代理程式:
將 SSH 金鑰加入到 Github
新的 SSH 金鑰啟動並運行後,您現在可以將本機連結到您的 Github 帳戶。首先,執行以下命令來列印您的 SSH 公鑰:
反白顯示您的 SSH 公鑰,按右鍵單擊,然後選擇“複製”。
開啟新的瀏覽器會話,然後導覽至您的 Github 主頁。
點擊頁面右上角的個人資料圖示。
從下拉清單中點選“設定”。
選擇設定頁面左側邊欄的「SSH 和 GPG 金鑰」。
點擊“SSH Keys”標題旁的“New SSH Key”按鈕。
選擇“標題”文字框,然後提供密鑰的名稱。
點選「金鑰」文字框,然後按 Ctrl + V 貼上您的 SSH 金鑰。
按一下「新增 SSH 金鑰」以提交新設定。
開啟一個新的終端機會話並執行以下命令:
輸入“yes”,然後按Enter。
這樣做將啟動一個與 Github 接收伺服器之一的新 SSH 會話。如果您的金鑰運作正常,這將列印一條短訊息,確認您的 SSH 連線。
管理 SSH 金鑰
雖然單一 SSH 金鑰對於大多數使用者來說就足夠了,但在某些情況下您需要同步跨多台電腦託管的 Git 儲存庫。為此,您需要匯入電腦特定的 SSH 金鑰。
在要連結到 Github 的電腦上開啟一個新的終端會話。
確保 OpenSSH 守護程式已安裝並在系統中執行:
執行以下命令為您的新電腦建立不同的 SSH 金鑰:
為新的 SSH 金鑰輸入安全密碼,然後按Enter。
將新的備用金鑰新增至 SSH 代理程式:
列印 SSH 公鑰的內容,然後將其複製到系統的剪貼簿:
返回您的 Github 帳戶的「SSH 和 GPG 金鑰」頁面。
再次點選“新 SSH 金鑰”按鈕。
為您的新金鑰提供唯一的標籤,然後將剪貼簿的內容貼到「金鑰」文字方塊下。
按一下「新增 SSH 金鑰」以套用新設定。
透過 SSH 登入來測試您的新機器是否使用您的安全金鑰連線到 Github:
除了將新產生的金鑰傳送到 Github 之外,您還可以修改電腦中已有的現有 SSH 金鑰。如果您已經在 Linux 中使用 SSH 金鑰作為無密碼登入,這會很有用。
若要修改現有金鑰,請導覽至電腦的「.ssh」目錄:
使用 、 和 標誌運行 ssh-keygen
以及您的SSH密鑰。這將允許您更改現有私鑰的密碼:-p
-o
-f
您也可以使用 -c
標誌來變更公鑰中嵌入的電子郵件地址:
使用新更新的金鑰重新載入 SSH 代理程式:
從您的 Github 設定檔中替換相應的 SSH 公鑰。
從 Github 中刪除 SSH 金鑰
開啟一個新的終端機會話,然後啟動 SSH 代理守護程式:
執行以下命令刪除機器內的 SSH 私鑰:
返回您的 Github 帳戶的「SSH 和 GPG 金鑰」類別。
捲動瀏覽此頁面上的 SSH 金鑰列表,然後按一下要刪除的金鑰上的「刪除」。
點擊“我明白,刪除此 SSH 金鑰”。
透過啟動與 Github 伺服器之一的 SSH 會話,確保舊的 SSH 金鑰現已失效:
連結 SSH 金鑰來保護您的 Github 帳戶只是了解公鑰加密和加密工作原理的第一步。透過使用 Rclone 建立加密雲端備份加密雲端備份,詳細了解靜態資料加密。
同時,您也可以透過使用 Git 掛鉤了解更多有關自動儲存庫管理的資訊。
圖片來源:Roman Synkevych,來自 Unsplash。所有修改和螢幕截圖均由 Ramces Red 進行。
發佈留言