执行git push -u origin main无响应报SSH 22端口超时错误如何解决
问题原因定位
你遇到的报错核心是SSH协议连接GitHub的22端口超时,通常由网络管制、SSH配置错误、远程地址配置错误三类问题导致,按以下步骤逐一排查即可:
排查&解决步骤
- 第一步:先验证SSH基础连通性
执行命令ssh -T git@github.com,如果同样返回22端口超时,说明你当前的网络环境封禁了SSH默认22端口,直接走第二步;如果返回权限错误,走第三步。 - 第二步:配置SSH走443端口绕过限制
打开本地SSH配置文件:- macOS/Linux路径:
~/.ssh/config - Windows路径:
C:\Users\你的用户名\.ssh\config
不存在就手动新建,写入以下内容:
保存后重新执行Host github.com Hostname ssh.github.com Port 443 User gitssh -T git@github.com,确认提示认证成功后,重试git push -u origin main即可。 - macOS/Linux路径:
- 第三步:检查远程仓库地址配置
执行命令git remote -v,核对origin对应的SSH地址是否和你在GitHub创建仓库时得到的<MY_SSH>内容完全一致,没有拼写错误、多余字符,若配置错误执行以下命令修改:git remote set-url origin 正确的SSH仓库地址 - 第四步:验证SSH密钥配置
确认你本地生成的SSH公钥文件(默认是~/.ssh/id_rsa.pub)的内容已经完整添加到GitHub账户的SSH密钥列表中,没有遗漏字符、多复制多余空格或换行。 - 第五步:临时切换HTTPS协议验证
如果以上步骤都无效,可先切换为HTTPS协议推送验证:
执行git remote set-url origin https://github.com/你的GitHub用户名/你的仓库名.git,再执行push操作,HTTPS协议不会受22端口限制。
内容的提问来源于stack exchange,提问作者adler
相关产品推荐
相关产品推荐

