使用 SSH 連線 Github 踩雷紀錄

為什麼你應該使用預設的 SSH 金鑰名稱 (id_ed25519)

TL;DR

不要把產出來的 SSH key 重新命名。使用預設的檔案名稱,例如 id_ed25519,會讓你的開發環境、Git 操作、伺服器連線流程更順暢,省下不必要的設定工夫。


背景

許多教學在產生 SSH 金鑰的時候會提到 -f 參數,例如:

ssh-keygen -t ed25519 -C "me@example.com" -f ~/.ssh/my_custom_key

這樣當然可以,但問題也來了:你必須記得這組金鑰叫什麼名字,然後手動在 .ssh/config 或 Git 設定中指定它。

如果你只是用一兩組金鑰,這沒什麼問題;但當你開始處理多個專案、多個環境或 CI/CD 部署時,這些自訂名字就會變成技術債。


預設名稱有什麼好處?

  1. 相容性高

    大多數工具(如 Git、SSH client)預設都會找 ~/.ssh/id_ed25519 或 id_rsa。不用額外設定,直接能用。

  2. 減少設定複雜度

    不用修改 ~/.ssh/config,也不用每次連線都指定 -i 路徑。

  3. 更容易備份與遷移

    將 .ssh/ 整個目錄備份就好,不用另外記一堆奇怪的金鑰名稱。

  4. 習慣統一,降低溝通成本

    團隊成員之間若都使用預設名稱,寫文件與 debug 都更直觀。


什麼情況下才需要改名?

當你:

  • 維護多個 GitHub 帳號,需要不同金鑰
  • 管理多組伺服器,每組金鑰對應不同權限
  • 使用自動化部署流程(CI/CD),需要明確指定某組金鑰

這時可以考慮使用 -f 自訂名稱,並搭配 .ssh/config 做進一步配置。


結論

如果你不知道為什麼要自訂金鑰名稱,那你就不應該改名。

除非你有非常明確的需求,否則直接使用:

ssh-keygen -t ed25519 -C "you@example.com"

Click here to share this article with your friends on X if you liked it.