1 最小阅读量

通过 VPN 的 GitHub:为什么浏览器可以工作但 git clone 或 SSH 失败

工作的 GitHub 网页可以证明浏览器 HTTPS 访问,但 git 和 SSH 可以使用不同的进程、代理设置、DNS 路径、端口和分割隧道规则。

已发布 2026年9月9日更新2026年10月13日INFOCROSS编辑团队
隐私和访问

要点

工作的 GitHub 网页可以证明浏览器 HTTPS 访问,但 git 和 SSH 可以使用不同的进程、代理设置、DNS 路径、端口和分割隧道规则。
在更改凭据之前确定故障远程是否使用 HTTPS 还是 SSH,因为这些协议遵循不同的故障排除路径。
在重新安装 Git 或禁用 TLS 检查之前,检查 Git 代理配置、环境变量、SSH 配置、IPv4 与 IPv6 以及 VPN 应用程序路由。

浏览器流量和 Git 流量不会自动相同

GitHub网站通常使用HTTPS,而存储库操作可以使用HTTPS或SSH。即使在同一台计算机上,这些进程也可以继承不同的代理设置,或者通过分割隧道进行不同的处理。因此,成功的浏览器会话并不能证明 git 或 ssh 使用相同的 VPN 路由。

首先读取准确的远程 URL。对于 HTTPS,请重点关注 DNS、TLS 和 Git 代理状态。对于 SSH,重点关注主机名解析、路由、SSH 配置以及 SSH 连接使用的网络路径。

检查代理状态、DNS 和地址族

Git 可以继承 HTTP_PROXY 和 HTTPS_PROXY 或在自己的配置中存储代理值。当浏览器直接连接时,过时的本地代理可能会将 Git 发送到死路径。 SSH 可以独立使用主机别名、ProxyCommand 或其配置中的其他规则。

还比较 IPv4 和 IPv6。当 DNS 返回两个系列但 VPN 仅可靠地路由其中一个系列时,客户端可能会等待无法访问的地址并出现挂起的情况。修复路由或客户端行为,而不是削弱 TLS 验证。

使用小型确定性故障排除序列

使用详细的 Git 或 SSH 输出重复该操作,并记下停止的阶段。在打开和关闭 VPN 的情况下检查名称解析,确认远程方案并检查代理设置。然后比较另一个网络或备用克隆协议。

如果 HTTPS 克隆有效而 SSH 无效,请在更改存储库凭据之前调查 SSH 路径。如果两种克隆方法在网站正常运行时都失败,则浏览器路由和进程路由之间的差异将成为最强的主导因素。

继续阅读

相关文章

文章常见问题解答

为什么 GitHub 可以在浏览器中加载,而 git clone 却挂起?

浏览器和 Git 可以使用不同的代理、DNS 路径、地址族和分割隧道规则。首先确定克隆协议并比较其路由。

对于 SSH,我首先应该检查什么?

检查远程 URL、SSH 配置、主机名解析、路由以及当前网络路径是否允许 SSH 连接。

IPv6 会导致明显的 Git 挂起吗?

是的。当 VPN 无法一致地路由两个系列时,可以先尝试不可达的 IPv6 路径,然后再尝试工作的 IPv4 路径。

我应该禁用 Git 的 TLS 证书验证吗?

不会。这会降低安全性,并且通常会隐藏真正的问题,可能是代理、DNS、路由、证书存储或网络策略。

下一步

管理访问

使用 INFOCROSS 无需管理服务器

网站上显示当前计划、协议可用性和设备限制。密钥传送和访问管理可通过 Telegram 机器人进行。