🔍 GitHub SSH連接問題解決指南
問題描述
遇到錯誤:ssh: connect to host github.com port 22: Connection refused
說明您的網絡環境無法訪問GitHub的SSH端口22,常見原因:
- 防火墻/網絡運營商限制(國內常見)
- 公司/學校網絡禁用SSH端口
🛠 解決方案
? 方法1:改用HTTPS(推薦)
適用場景:國內用戶或網絡環境復雜時
# 修改遠程倉庫地址為HTTPS
git remote set-url origin xxxxxx
關鍵步驟:
- 生成GitHub Token:
- 訪問 Token生成頁面
- 勾選
repo
權限 → 生成Token
- 推送代碼時:
- 用戶名:GitHub賬號
- 密碼:粘貼生成的Token
優勢:
- 繞過SSH端口限制
- 操作簡單,適合新手
? 方法2:SSH使用443端口
適用場景:必須使用SSH協議時
# 編輯SSH配置文件
code ~/.ssh/config # 或使用nano/其他編輯器
配置內容:
Host github.comHostname ssh.github.comPort 443User git
驗證配置:
ssh -T git@github.com# 成功提示:Hi [用戶名]! You've successfully authenticated...
常見問題排查:
- 文件權限問題:
chmod 600 ~/.ssh/config
- 配置格式錯誤:確保無多余空格
? 方法3:檢查SSH代理
適用場景:SSH認證失敗時
# 啟動SSH代理
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_rsa # 替換為您的私鑰路徑
驗證代理狀態:
ssh-add -l # 應顯示已加載的密鑰
🎯 方案推薦
方案 | 難度 | 穩定性 | 適用場景 |
---|---|---|---|
HTTPS | ? | ★★★★★ | 國內用戶首選 |
SSH+443端口 | ?? | ★★★★☆ | 需要SSH協議的項目 |