3 min read

GitHub Through a VPN: Why the Browser Works but git clone or SSH Fails

A working GitHub web page proves browser HTTPS access, but git and SSH can use different processes, proxy settings, DNS paths, ports, and split-tunnel rules.

Published September 9, 2026Updated September 9, 2026INFOCROSS editorial team
Privacy and access

Key takeaways

A working GitHub web page proves browser HTTPS access, but git and SSH can use different processes, proxy settings, DNS paths, ports, and split-tunnel rules.
Identify whether the failing remote uses HTTPS or SSH before changing credentials because those protocols follow different troubleshooting paths.
Inspect Git proxy configuration, environment variables, SSH config, IPv4 versus IPv6, and VPN application routing before reinstalling Git or disabling TLS checks.

Browser traffic and Git traffic are not automatically identical

The GitHub website normally uses HTTPS, while repository operations can use HTTPS or SSH. Even on the same computer, those processes can inherit different proxy settings or be treated differently by split tunneling. A successful browser session therefore does not prove that git or ssh is using the same VPN route.

Read the exact remote URL first. For HTTPS, focus on DNS, TLS, and Git proxy state. For SSH, focus on hostname resolution, routing, SSH configuration, and the network path used by the SSH connection.

Inspect proxy state, DNS, and address family

Git can inherit HTTP_PROXY and HTTPS_PROXY or store proxy values in its own configuration. A stale local proxy can send Git into a dead path while the browser connects directly. SSH can independently use Host aliases, ProxyCommand, or other rules from its configuration.

Compare IPv4 and IPv6 as well. When DNS returns both families but the VPN only routes one reliably, a client may wait on an unreachable address and appear to hang. Fix the route or client behavior instead of weakening TLS verification.

Use a small deterministic troubleshooting sequence

Repeat the operation with verbose Git or SSH output and note the stage where it stops. Check name resolution with the VPN on and off, confirm the remote scheme, and inspect proxy settings. Then compare another network or the alternate clone protocol.

If HTTPS cloning works and SSH does not, investigate the SSH path before changing repository credentials. If both clone methods fail while the website works, the difference between browser routing and process routing becomes the strongest lead.

Continue reading

Related articles

Article FAQ

Why can GitHub load in a browser while git clone hangs?

The browser and Git can use different proxies, DNS paths, address families, and split-tunnel rules. Determine the clone protocol first and compare its route.

What should I check first for SSH?

Check the remote URL, SSH configuration, hostname resolution, route, and whether the current network path permits the SSH connection.

Can IPv6 cause an apparent Git hang?

Yes. An unreachable IPv6 path can be tried before a working IPv4 path when the VPN does not route both families consistently.

Should I disable TLS certificate verification for Git?

No. That reduces security and usually hides the real issue, which may be proxy, DNS, routing, certificate store, or network policy.

NEXT STEP

MANAGED ACCESS

Use INFOCROSS without managing a server

Current plans, protocol availability and device limits are shown on the site. Key delivery and access management are available through the Telegram bot.