Windows 版 Git 遠端倉庫和 SSH 金鑰管理完整指南

最後更新: 12/09/2026
作者: 艾薩克
  • SSH 協定可確保本機與 Git 伺服器之間建立加密且安全的連接,因此無需不斷輸入密碼。
  • 身份驗證基於非對稱金鑰對,其中公鑰與伺服器共享,私鑰則嚴格保護在使用者的電腦上。
  • 透過設定主機別名,可以同時管理多個 SSH 身份,以區分個人帳戶和專業帳戶。
  • 從 HTTPS 過渡到 SSH 可以最佳化工作流程,並提高程式碼交換的安全標準。

程式設計師,使用專業編碼環境進行軟體開發。

當我們深入開發領域時,雲端程式碼管理已成為日常必需。雖然許多人一開始選擇 HTTPS,因為它最簡單,但對於任何想要有效率且專業地工作,避免頻繁輸入憑證的開發者來說, SSH 驗證終究會變得至關重要。

簡而言之,我們是在電腦和專案所在的伺服器之間建立一個安全加密的隧道。使用 SSH 不僅僅是為了方便;它是一種強大的安全措施,可以保護我們的工作免受潛在的攔截或攻擊,只允許經過適當授權的機器修改代碼倉庫。

軟體開發人員在配備雙顯示器和開發環境(IDE)的專業環境中工作。
相關文章:
使用 Git 建立專業開發環境的完整指南

了解 SSH 在 Git 中的工作原理

工作站配備多個顯示器,用於顯示十六進位資料和伺服器日誌,代表遠端儲存庫管理和加密。

為了實現這一點,Git 使用非對稱加密系統。這意味著我們會產生一對金鑰:公鑰和私鑰。公鑰就像一把鎖,我們將其留在伺服器(無論是 GitHub、GitLab 還是 Azure DevOps)上,而私鑰則是我們安全地保存在本機電腦上的主金鑰。當我們嘗試執行推送或拉取操作時,伺服器會檢查我們的金鑰是否與它的「鎖」匹配,如果匹配,則允許我們繼續操作,而無需提供其他資訊。

  使用註冊表重新取得對已停用的 Windows 設定的存取權限

這種方法最大的優點之一是,與傳統的基於密碼的系統相比,它更能抵禦木馬或鍵盤記錄器的攻擊。此外,一旦系統配置正確,存取權限將永久且透明,使我們能夠專注於編程,而不是管理存取權限。

如何在 Windows 和其他系統上產生金鑰

圖中展示了一個帶有數字代碼的發光鍵盤的細節,說明了密碼學和 SSH 密鑰生成的概念。

如果您使用的是 Windows 系統,那麼最好的選擇是使用 吉特·巴什(Git Bash)因為它包含了所有必需的 OpenSSH 工具套件。入門的基本命令是: ssh-keygen -t rsa -b 3072執行程式時,系統會詢問您要將檔案儲存到哪裡;最常見的做法是保留使用者 .ssh 資料夾中的預設路徑。

這裡的關鍵在於安全短語,也就是密碼。雖然為了快速操作可以留空,但為私鑰添加密碼可以增加一層額外的保護,以防有人竊取您的電腦。在 Linux 或 macOS 系統上,操作過程完全相同,因為原生終端機已經包含了這些工具。

github桌面
相關文章:
如何在 Windows 上逐步設定 Git 和 GitHub Desktop

SSH代理和金鑰管理的作用

從上往下看,開發者正在操作命令列終端,非常適合用來表示在 Windows 上使用 Git Bash。

如果您決定在密碼中加上口令,每次交易都要輸入口令可能會很麻煩。為了解決這個問題,我們使用… SSH代理它充當身份管理器,將密鑰載入到記憶體中。在 Windows 系統中,確保服務正常運作至關重要。 ssh-agent 它透過 PowerShell 以管理員權限進行自動配置。

如果您發現即使代理程式正在執行,VSCode 等工具仍要求輸入密碼,則可能需要設定GIT_SSH 環境變數。這將告訴 Git 使用哪個 OpenSSH 可執行檔與系統代理程式通信,從而避免重複的身份驗證請求。

  CCleaner:它真的能安全地最佳化Windows系統嗎?

主平台上的配置

終端螢幕顯示訊息“資料傳輸完成”,表示使用 SSH 成功同步了 Git 儲存庫。

一旦您有了文件(通常 id_rsa y id_rsa.pub),您必須將公開版本上傳到伺服器。 GitHub上這可以在“設定”部分的“SSH 和 GPG 金鑰”選項中完成。只需複製 .pub 檔案的內容並貼上到此處,並為其指定描述性名稱即可。

對於Azure DevOps,流程類似,但增加了驗證步驟,即驗證伺服器指紋以防止欺騙攻擊。金鑰必須是 RSA 類型,並且必須與 Web 入口網站中的使用者設定檔正確關聯,才能授予存取權限。

如何刪除副駕駛內存
相關文章:
如何在 Microsoft、Windows 和 GitHub 中清除 Copilot 記憶體和清理 AI

在同一台機器上管理多個帳戶的技巧

有時我們會有一個用於工作專案的 GitHub 帳號,另一個用於個人專案。嘗試在兩個帳號上使用同一個密碼是不可能的。訣竅在於… 建立 SSH 設定檔 自訂。在 .ssh 資料夾中,我們建立一個名為 的文件 config (不含副檔名)我們為每個主機定義別名。

例如,我們可以建立一個名為「主機」的主機 github.com-work 和另一個 github.com-personal為每個儲存庫分配各自的身份檔案。克隆儲存庫時,不使用標準 URL, 我們修改了 URL 主機 這樣 Git 就知道要提供伺服器哪個金鑰,從而允許我們從一個設定檔跳到另一個設定檔而不會發生衝突。

在已複製的儲存庫中將 HTTPS 變更為 SSH

如果您電腦上已經有一個專案文件,但它是透過 HTTPS 下載的,則無需刪除並重新克隆。您可以… 更新遠端來源 URL 使用命令 git remote set-url origin 要取得此位址,只需轉到遠端儲存庫的程式碼選項卡,然後選擇 SSH 選項。

為了驗證更改是否已成功完成,我們運行 git remote -v如果我們看到地址現在以 [email protected]... 或者類似情況,我們已經 在安全協議下運行 我們將不再看到要求輸入使用者名稱和密碼的對話框。

  Solid Edge 和 Solidworks – 哪個最好 – 比較

與外部工具和部署的集成

像 Sourcetree 這樣的工具允許你透過其自身的介面管理這些金鑰,只需將 SSH 客戶端更改為 OpenSSH 並手動選擇私鑰即可。另一方面,在像Plesk這樣的部署環境中,伺服器會產生自己的公鑰,我們必須將其新增到遠端倉庫中,以便伺服器可以自動拉取更新。

需要注意的是,某些功能(例如某些 Azure 服務中的 Git LFS)可能與 SSH 不完全相容,這會導致我們必須使用 HTTPS 來傳輸大型檔案。但是,對於日常的提交和推送工作流程而言,SSH 仍然是最佳選擇。

實施 SSH 金鑰能夠消除存取障礙並確保與伺服器通訊的安全,從而徹底改變 Windows 開發體驗。從產生金鑰對、使用代理管理密碼,到設定別名以處理多個帳戶,再到將遠端伺服器從 HTTPS 遷移到 SSH,整個生態系統讓您可以完全掌控 Git 工作流程的安全性和效率。

筆記型電腦放在木桌上,螢幕上顯示白色掛鎖圖示和「已保護」字樣,代表 Windows 11 的全面保護。
相關文章:
使用進階設定保護 Windows 11 的完整指南