GitHub推送又超时了?试试SSH

用 SSH 彻底解决 GitHub 克隆/推送超时问题

每次使用本地ide连接GitHub时候,总是会超时,或者其它原因连不上,真的让人体验很差,天下苦秦久矣,今天用SSH来解决这个问题

在国内或网络环境复杂的地区,使用 GitHub 时经常遇到 HTTPS 超时 (如 Error in the HTTP2 framing layer)或 SSH 超时ssh: connect to host github.com port 22: Operation timed out)。

这些问题主要源于网络对端口 22 的限制、HTTP/2 兼容性问题或运营商干扰。切换到 SSH 并结合端口 443 是目前最稳定、最有效的解决方案。

SSH 不仅更安全,还能避免反复输入 Token,一次配置,长期受益。本文提供 Windows 和 macOS 完整的通用配置方法。

为什么推荐 SSH + 端口 443?
  • 避开端口 22 被封锁的问题而且几乎所有网络都允许 443 端口
  • 不再需要每次输入用户名/密码或 Personal Access Token
  • 连接更稳定,适合大仓库克隆和频繁 push/pull
  • 适用于 PyCharm、VS Code、IntelliJ 等 IDE
第一步:生成 SSH 密钥

打开终端:

bash 复制代码
ssh-keygen -t ed25519 -C "你的邮箱@example.com"

pub是公钥

第二步:将公钥添加到 GitHub
  1. 登录 GitHub → 右上角头像 → SettingsSSH and GPG keysNew SSH key

  2. 把复制的公钥粘贴到 Key 框中,点击 Add SSH key

第三步:配置 SSH

创建或编辑 ~/.ssh/config 文件

打开 config 文件

  • macOS:open -e ~/.ssh/config
  • Windows:notepad ~/.ssh/config 或用 VS Code 编辑

在文件中添加以下内容:

config 复制代码
Host github.com
  Hostname ssh.github.com
  Port 443
  User git
  IdentityFile ~/.ssh/id_ed25519
  ServerAliveInterval 60      # 保持连接活跃,防止超时
  ServerAliveCountMax 5
  TCPKeepAlive yes

说明
Hostname ssh.github.com + Port 443 是绕过端口 22 超时的核心配置。GitHub 官方推荐此方式。

保存后,添加密钥到 ssh-agent:

  • macOS

    bash 复制代码
    eval "$(ssh-agent -s)"
    ssh-add --apple-use-keychain ~/.ssh/id_ed25519
  • Windows

    bash 复制代码
    eval "$(ssh-agent -s)"
    ssh-add ~/.ssh/id_ed25519
第四步:测试连接

在终端运行:

bash 复制代码
ssh -T git@github.com

成功会显示:

现在就不用担心连接超时的问题了!

相关推荐
jerryinwuhan3 小时前
《系统部署与运维》开篇 课程介绍
运维
我是谁??5 小时前
Ubuntu22.04更换清华源
linux·运维·服务器
Shell运维手记6 小时前
Linux 常用基础命令学习笔记
linux·运维·笔记·学习·算法·github
朴马丁6 小时前
国际与国产PLM在精细化工赛道的布局:2026年主要厂商技术特色
大数据·运维·人工智能·流程行业plm·化工新材料
码流怪侠7 小时前
StereoCrafter 源码级深度拆解:腾讯如何把 2D 视频“抠“成 3D
github·音视频开发·webvr
Elastic 中国社区官方博客8 小时前
Elasticsearch:使用 AI Agent 来创建 workflow
大数据·运维·人工智能·elasticsearch·搜索引擎·自动化·全文检索
测试运维日常笔记8 小时前
Linux系统安装配置TigerVNC服务器完整指南
linux·运维·服务器
像风一样自由20208 小时前
加强版VScode结合remote-ssh远程连接服务器开发指南
服务器·vscode·ssh
喜欢的名字被抢了9 小时前
程序出问题怎么查,以及如何让它不掉线
java·运维·数据库
雾时之林9 小时前
Linux----cron定时服务
linux·运维·服务器