Skip to content

Instantly share code, notes, and snippets.

@Tamal
Last active May 8, 2024 15:47
Show Gist options
  • Save Tamal/1cc77f88ef3e900aeae65f0e5e504794 to your computer and use it in GitHub Desktop.
Save Tamal/1cc77f88ef3e900aeae65f0e5e504794 to your computer and use it in GitHub Desktop.
Solution for 'ssh: connect to host github.com port 22: Connection timed out' error
$ git clone git@github.com:xxxxx/xxxx.git my-awesome-proj
Cloning into 'my-awesome-proj'...
ssh: connect to host github.com port 22: Connection timed out
fatal: Could not read from remote repository.
$ # This should also timeout
$ ssh -T git@github.com
ssh: connect to host github.com port 22: Connection timed out
$ # but this might work
$ ssh -T -p 443 git@ssh.github.com
Hi xxxx! You've successfully authenticated, but GitHub does not provide shell access.
$ # Override SSH settings
$ vim ~/.ssh/config
```
# Add section below to it
Host github.com
Hostname ssh.github.com
Port 443
```
$ ssh -T git@github.com
Hi xxxxx! You've successfully authenticated, but GitHub does not
provide shell access.
$ git clone git@github.com:xxxxxx/xxxxx.git my-awesome-proj
Cloning into 'my-awesome-proj'...
remote: Enumerating objects: 15, done.
remote: Counting objects: 100% (15/15), done.
remote: Compressing objects: 100% (14/14), done.
remote: Total 15 (delta 0), reused 15 (delta 0), pack-reused 0
Receiving objects: 100% (15/15), 22.90 KiB | 4.58 MiB/s, done.
@mahmudulshuvo
Copy link

Thank you ❤️

@mdranacse19
Copy link

suggest using url..insteadOf setting instead of overriding the connection for github.com in ~/.ssh/config (that's what the documentation describes), like so:

git config --global "url.ssh://git@ssh.github.com:443/.insteadOf" git@github.com:

it's work's for me. thank you

@fayesarah555
Copy link

thanks !

@RaghavaAkula394
Copy link

RaghavaAkula394 commented Mar 19, 2024

what would be the extension of config file ?

@xavierskip
Copy link

what would be the extension of config file ?

~/.ssh/config do not have file extension

@TechMadi
Copy link

TechMadi commented Apr 5, 2024

The first solution works if you your .ssh/config file got deleted

@ZhuohanX
Copy link

thank you!

@cghAshes
Copy link

thx!

@tcpdump-examples
Copy link

The purpose of this command is typically to test or use the SSH connection to GitHub, especially when the default port 22 is blocked or for some reason unavailable.

By using port 443, the connection can bypass firewalls that only allow HTTPS traffic, which is useful in restrictive network environments.

More details can be found here. https://www.howtouselinux.com/post/github-ssh-acces…ls-with-port-443

@murshed
Copy link

murshed commented May 7, 2024

I appreciate you for this tutorial.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment