初學 Git/GitHub 時常見誤區:以為「私鑰是下載的鑰匙」,發現沒有配置 SSH 私鑰也能 `git clone` 公開倉庫,感到困惑。
| 協議 | 公開倉庫 Clone | 私有倉庫 Clone | Push 權限 |
|---|---|---|---|
| HTTPS | 無需憑證 | 需 Username + Personal Access Token | 需憑證 |
| SSH | 需公開鑰已加入 GitHub(但無需私鑰驗證?實際 SSH 握手仍需私鑰簽名) | 需私鑰匹配 GitHub 存儲的公鑰 | 需私鑰 |
註:即使 SSH Clone 公開倉庫,客戶端也需本地私鑰參與 SSH 握手簽名,但 GitHub 服務端對公開倉庫不強制驗證用戶身份(允許匿名金鑰?實際上 GitHub 不支持匿名 SSH 金鑰,必須綁定用戶)。最簡單方式:新手直接用 HTTPS URL Clone 公開倉庫,完全無需配置 SSH 金鑰對。
下載公開代碼 ≠ 需要私鑰。 GitHub 公開倉庫設計為「開源可讀」,HTTPS 協議提供無認證只讀訪問。私鑰是寫入權限的憑證,而非讀取權限的鑰匙。理解「認證」與「授權」的區別,是掌握 Git 協作流程的基石。