GitHub SSH 密鑰配置筆記

GitHub SSH 密鑰配置(適配 443 端口)筆記

一、核心場景

解決 GitHub 22 端口訪問被阻斷問題,通過配置 SSH 密鑰 + 443 備用端口實現(xiàn)免密訪問 GitHub 倉庫。

二、操作步驟

1. 生成 SSH 密鑰

# 生成 ed25519 算法的 SSH 密鑰(安全性更高)
ssh-keygen -t ed25519 -C "your_email@example.com"
  • 執(zhí)行后一路回車(無需設置密鑰密碼,簡化服務器使用);
  • 密鑰默認生成路徑:~/.ssh/id_ed25519(私鑰)、~/.ssh/id_ed25519.pub(公鑰)。

2. 復制 SSH 公鑰

# 查看并復制公鑰內容(全選復制,不要新增換行/空格)
cat ~/.ssh/id_ed25519.pub
  • 若服務器無剪貼板工具(如 pbcopy),直接手動復制終端輸出的公鑰文本;
  • 公鑰格式:以 ssh-ed25519 開頭,以你的郵箱結尾。

3. 將公鑰添加到 GitHub

  1. 登錄 GitHub,點擊右上角頭像 → Settings;
  2. 左側欄「Access」板塊點擊 SSH and GPG keys
  3. 點擊 New SSH key / Add SSH key;
    • 「Title」:填寫備注(如「服務器- Debian」,便于識別);
    • 「Key type」:選擇 Authentication key(認證用);
    • 「Key」:粘貼復制的公鑰內容;
  4. 點擊 Add SSH key,按需驗證 GitHub 賬號密碼完成添加。

4. 配置 SSH 客戶端(指定 443 端口,解決 22 端口被封)

# 編輯/創(chuàng)建 SSH 配置文件
vim ~/.ssh/config

粘貼以下配置(覆蓋原有 github.com 配置,無則新增):

Host github.com
  HostName ssh.github.com
  Port 443
  User git
  IdentityFile ~/.ssh/id_ed25519  # 私鑰路徑,默認無需修改
  TCPKeepAlive yes  # 保持連接,避免超時
  IdentitiesOnly yes  # 僅使用指定私鑰,避免沖突
  • 保存退出:Esc:wq

5. 測試 SSH 連接

# 驗證 GitHub SSH 連接
ssh -T git@github.com

? 成功提示:Hi 你的GitHub用戶名! You've successfully authenticated, but GitHub does not provide shell access.

三、關鍵注意事項

  1. 權限加固:確保 SSH 目錄/文件權限正確(避免認證失?。?
    chmod 700 ~/.ssh       # 目錄權限
    chmod 600 ~/.ssh/id_ed25519  # 私鑰權限(必須600,否則會被SSH拒絕)
    
  2. 端口測試:若 443 仍連接失敗,先測試端口連通性
    nc -zv ssh.github.com 443  # 成功提示:Connection succeeded!
    
  3. 失敗排查
    • 提示 Connection closed:網(wǎng)絡/防火墻阻斷 443 端口,需聯(lián)系服務器運營商解封;
    • 提示 Permission denied (publickey):公鑰未正確添加到 GitHub / 私鑰權限錯誤;
    • 無響應:檢查服務器 DNS(可臨時替換為 8.8.8.8)。

四、后續(xù)使用

配置完成后,直接用 SSH 地址克隆/操作倉庫即可免密:

# 克隆倉庫示例
git clone git@github.com:你的用戶名/倉庫名.git
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容