使用SSH設置GitHub部署金鑰

步驟1:產生 SSH 密鑰

打開終端,輸入以下命令來生成 SSH 密鑰:

ssh-keygen -t ed25519 -C "[email protected]"

這裡,-t ed25519 表示使用 ed25519 算法,這是一個推薦的安全選擇。如果您的系統不支援 ed25519,您可以選擇 rsa:

ssh-keygen -t rsa -b 4096 -C "[email protected]"

系統會提示您選擇保存密鑰的路徑。預設情況下,它會將密鑰保存在 ~/.ssh/id_ed25519(或 id_rsa,如果您使用 RSA)中。如果您不想更改路徑,直接按 Enter。

接下來,系統會要求您輸入一個passphrase密碼(這是可選的),用來進一步保護您的密鑰。如果您不想設置密碼,直接按 Enter 即可。

步驟2:取得公鑰並添加到 GitHub

生成完密鑰後,您需要獲取 公鑰。您可以使用以下命令查看並複製您的公鑰:

cat ~/.ssh/id_ed25519.pub

或者,對於 RSA 密鑰:

cat ~/.ssh/id_rsa.pub

複製終端中顯示的公鑰(以 ssh-ed25519 開頭,並以您的電子郵件結尾的那一行)

前往 GitHub,進入您的項目頁面,然後新增 Deploy keys (「Settings」 > 「Deploy Keys 」> 「Add deploy key」)

  • Title 欄位中填寫適合的名稱。
  • Key 欄位中粘貼您剛才複製的公鑰。
  • 如果您希望該密鑰具有推送(write)權限,可以勾選 Allow write access,否則默認為只讀(pull)權限。

步驟 3:配置 SSH 用於 Git

確保您的 SSH 配置文件正確設置,讓 Git 使用正確的密鑰:

打開或創建 ~/.ssh/config 文件,並添加以下內容:

Host github.com
  HostName github.com
  User git
  IdentityFile ~/.ssh/id_ed25519

這樣可以確保 Git 使用剛才生成的 SSH 密鑰。

再來測試 SSH 連接:

ssh -T [email protected]

如果一切順利你就會看到訊息:Hi username! You’ve successfully authenticated, but GitHub does not provide shell access.

這樣就搞定了,就可以使用GitHub來做版控!