fatal: unable to access ‘https://github.com/xxx‘: Failed to connect to github.com port 443 after 110
通常是由于网络连接问题或GitHub服务器无法访问导致的。以下是可能的原因以及解决方法:
- 检查网络连接。
- 测试DNS解析和GitHub连接。
- 配置代理(如果需要)。
- 更新Git并强制使用HTTP/1.1协议。
- 尝试使用SSH协议。
- 使用国内镜像站点。
如果可以ping通
-
网络连接问题
确保您的网络连接正常,可以尝试访问其他网站或服务来确认网络的连通性。如果是在公司或学校的网络环境中,可能存在防火墙限制,建议尝试使用移动数据或其他网络进行测试。 -
防火墙或代理设置
如果您处于需要通过代理服务器访问互联网的环境中,请确保Git配置了正确的代理设置:
Bash
git config --global http.proxy http://proxyuser:proxypassword@proxy.server.com:port
若不确定代理服务器的详情,请联系网络管理员获取帮助。
-
DNS解析问题
本地DNS服务器可能无法正确解析github.com,您可以尝试修改DNS设置为公共DNS服务器如Google的8.8.8.8和8.8.4.4,或者直接在命令行中ping GitHub的IP地址(可以通过一些在线工具查询到GitHub的当前IP地址)来进行测试。 -
使用SSH代替HTTPS
如果HTTPS协议遇到持续的问题,可以考虑切换到SSH协议进行仓库的克隆操作。首先需要生成SSH密钥,并将公钥添加到GitHub账户中,然后使用以下命令克隆仓库:
Bash
git clone git@github.com:gpgpu-sim/gpgpu-sim_distribution.git
-
检查GitHub的服务状态
有时GitHub本身可能出现临时的服务中断。您可以通过GitHub Status页面检查GitHub的服务状态。 -
更新Git版本
确保您使用的Git是最新版本,旧版本可能由于SSL/TLS支持问题导致连接失败。更新Git的方法依据不同的操作系统而异。
如果ssh依然报错Connection refused
fatal: Could not read from remote repository.
这表明您的网络环境可能阻止了对 GitHub 的 SSH 连接(默认端口为 22)。以下是可能的原因及解决方法:
-
测试端口 22 是否被封锁。
-
配置 SSH 使用端口 443。
-
检查 SSH 密钥配置。
-
检查防火墙或代理设置。
-
如果仍无法解决,回退到 HTTPS 或使用国内镜像站点。
具体方法:
编辑或创建 SSH 配置文件:
打开终端并输入以下命令以编辑(如果存在)或创建(如果不存在)SSH配置文件。
Bash
深色版本
nano ~/.ssh/config
添加 GitHub SSH 配置:
在打开的文件中添加以下内容,这将告诉 SSH 客户端对 github.com 的请求应该发送到 ssh.github.com 并且使用端口 443。
深色版本
Host github.com
Hostname ssh.github.com
Port 443
User git
保存并退出编辑器:
按 CTRL+X,然后按 Y 确认保存更改,最后按 Enter 退出。
测试新配置:
输入以下命令测试新的 SSH 设置是否能够成功连接到 GitHub。
Bash
深色版本
ssh -T git@github.com
如果一切设置正确,您会看到一条欢迎信息,表明您已经成功认证。
再次尝试克隆仓库:
最后,尝试使用 SSH 方式再次克隆仓库。
Bash
深色版本
git clone git@github.com:gpgpu-sim/gpgpu-sim_distribution.git
更多推荐

所有评论(0)