MacOS下Git push/clone连接GitHub报Operation timed out超时
问题现象
MacOS环境下执行Git操作时出现连接异常:
- 推送本地仓库、clone远程仓库时均触发超时报错
- 报错前Git功能可正常使用,无明确配置改动记录
- 终端完整输出如下:
joanskenderi@joans-mbp Course Goals App % git push origin master fatal: unable to connect to github.com: github.com[0: 140.82.121.3]: errno=Operation timed out joanskenderi@joans-mbp Course Goals App % git remote -v origin git://github.com/joanskenderi/Course-Goals-App.git (fetch) origin git://github.com/joanskenderi/Course-Goals-App.git (push) joanskenderi@joans-mbp Course Goals App %
故障原因
从git remote -v输出可确认,当前远程仓库配置的是git://开头的Git协议地址,该协议默认使用9418端口通信,绝大多数公共网络、办公网络会拦截这个非通用端口的请求,直接触发连接超时。此前Git功能正常,要么是之前绑定的远程地址不是Git协议,要么是当时使用的网络未拦截9418端口。
解决方法
选择任意一种方式修改远程仓库地址即可恢复:
- 改用HTTPS协议(通用度最高,不需要额外配置密钥)
执行以下命令替换远程地址:
git remote set-url origin https://github.com/joanskenderi/Course-Goals-App.git
修改完成后重新执行push/clone操作即可,HTTPS协议走通用443端口,不会被常规网络规则拦截。
- 改用SSH协议(适合已配置GitHub SSH密钥的用户)
执行以下命令替换远程地址:
git remote set-url origin git@github.com:joanskenderi/Course-Goals-App.git
如果替换后仍出现22端口超时,可配置SSH走443端口访问GitHub,编辑~/.ssh/config文件,添加以下配置:
Host github.com Hostname ssh.github.com Port 443
保存后重新测试连接即可。
内容的提问来源于stack exchange,提问作者user15339125
相关产品推荐
相关产品推荐

