giip
SES 商機登記
4分鐘閱讀

GitHub SSH 金鑰註冊指南

了解如何在 GitHub 帳戶上註冊 SSH 金鑰,以便在克隆儲存庫和進行身份驗證時無需每次輸入密碼。

🚀 前往常 SSH 設定 →

📋 概述

SSH (Secure Shell) 是一種協定,可以通過安全的身份驗證而無需在網路上傳送密碼。通過在 GitHub 上註冊 SSH 金鑰對,您就可以克隆、拉取和推送儲存庫,而無需每次輸入憑證。

GitHub 支援兩種類型的 SSH 金鑰:

  • Ed25519 (推薦) — 現代、安全,且金鑰體積更小
  • RSA (4096位) — 用於兼容性,如果您的系統不支援 Ed25519,則使用此類型

🛠️ 設定步驟

1. 檢查現有 SSH 金鑰

在產生新金鑰之前,請檢查您是否已擁有一個金鑰。

Linux / macOS / WSL:

ls -la ~/.ssh/

Windows (PowerShell):

Get-ChildItem $env:USERPROFILE\.ssh

查找名為 id_ed25519id_ed25519.pubid_rsaid_rsa.pub 的檔案。如果您已有想要使用的金鑰對,請跳至第 3 步。

2. 產生新的 SSH 金鑰

使用 Ed25519 演算法產生新的 SSH 金鑰(推薦)。

Linux / macOS / WSL:

ssh-keygen -t ed25519 -C "<your-email@example.com>"

Windows (PowerShell):

ssh-keygen -t ed25519 -C "<your-email@example.com>"

當提示輸入檔案位置時,按 Enter 接受預設位置(~/.ssh/id_ed25519)。

當提示輸入密碼片語時,您可以輸入安全的密碼片語或按 Enter 留空。使用密碼片語可以增加額外的安全層來保護私鑰。

3. 檢視並複製您的公鑰

顯示您的公鑰並複製到剪貼簿。

Linux / macOS / WSL:

cat ~/.ssh/id_ed25519.pub

Windows (PowerShell):

Get-Content $env:USERPROFILE\.ssh\id_ed25519.pub

公鑰以 ssh-ed25519ssh-rsa 開頭,以您的電子郵件位址結尾。選擇全部輸出內容並複製。

⚠️ 安全注意事項: 切勿分享或公開您的私鑰id_ed25519id_rsa,不帶 .pub)。只有公鑰(id_ed25519.pub)可以安全分享。

4. 在 GitHub 上註冊金鑰

  1. 登入 GitHub
  2. 點擊您的頭像 → Settings
  3. 在左側邊欄中點擊 SSH and GPG keys
  4. 點擊 New SSH key
  5. Title 欄位中輸入描述性標籤(例如 我的筆電辦公電腦
  6. Key 欄位中貼上您的公鑰
  7. 點擊 Add SSH key

5. 測試連線

驗證您的 SSH 金鑰是否正確註冊。

ssh -T git@github.com

首次連線時您可能會看到以下警告:

The authenticity of host 'github.com (IP 位址)' can't be established.
RSA key fingerprint is SHA256:xxxxx.
Are you sure you want to continue connecting (yes/no/[fingerprint])?

輸入 yes 並按 Enter。如果成功,您將看到:

Hi <username>! You've successfully authenticated, but GitHub does not provide shell access.

6. 使用 SSH 克隆儲存庫

確認連線後,使用 SSH 位址克隆儲存庫。

git clone git@github.com:<owner>/<repository>.git

<owner> 替換為儲存庫擁有者,將 <repository> 替換為儲存庫名稱。

🔍 驗證 SSH 金鑰註冊

要列出您 GitHub 帳戶上註冊的所有 SSH 金鑰:

  1. 進入 SettingsSSH and GPG keys
  2. 檢視已註冊金鑰的列表,包括標題和建立日期

🩺 疑難排解

症狀原因解決方案
Permission denied (publickey)未註冊 SSH 金鑰,或使用了錯誤的金鑰確認您的公鑰已在 GitHub 上註冊。確保您使用的是正確的私鑰。
ssh -T 顯示 "successfully authenticated" 但 git 操作失敗金鑰未新增到特定儲存庫確保您的 SSH 金鑰在該儲存庫設定中具有讀取/寫入權限。
連線逾時防火牆或網路問題阻斷了 22 連接埠檢查您的網路設定,或嘗試改用 HTTPS。
git@github.com: Permission denied遠端 URL 格式錯誤在遠端 URL 中使用 git@github.com:(冒號)而不是 https://github.com/
"Too many authentication failures"伺服器因金鑰嘗試次數過多而拒絕使用 ssh -vT git@github.com 進行偵錯,或使用 -i ~/.ssh/id_ed25519 指定金鑰。

🔒 安全最佳實踐

  • 切勿分享您的私鑰id_ed25519id_rsa)。不要將其附加到 issue、郵件中,或提交到儲存庫。
  • 產生 SSH 金鑰時使用密碼片語來保護私鑰,即使您的設備被入侵也能多一層保護。
  • 每個設備使用唯一的 SSH 金鑰 — 為您的筆電、桌上型電腦和伺服器分別註冊不同的金鑰。
  • 定期審查已註冊的金鑰 — 從您的 GitHub 帳戶中移除舊或不再使用的 SSH 金鑰。
  • 對於需要集中管理金鑰的組織,考慮使用 SSH 憑證

📚 參考


版本: 1.0 最後更新: 2026-09-24 來源檔案: giipv3/public/help/github-ssh-key.zh-TW.md