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.
@kaivanwong
Copy link

❤ Thank you !

@xc2f
Copy link

xc2f commented Jan 16, 2024

wow, magic!

@kokeiisama
Copy link

Thank you !

@cn-xufei
Copy link

Thank you !

@ystrdy
Copy link

ystrdy commented Jan 17, 2024

it worked! thank you!

@justlorain
Copy link

Thanks a lot!!!

@1219123074
Copy link

It worked! Thank you!!!

@kevin599
Copy link

thank you!!! it worked!

@james-wangx
Copy link

Thanks a lot!

@ppaanngggg
Copy link

works for me, thanks!

@shiloong
Copy link

Thx a lot!

@murphyhoucn
Copy link

Thanks a lot! It worked on my pc and server!

@Shi-Soul
Copy link

Thx!

@MaeThird
Copy link

niubility!

@susakin
Copy link

susakin commented Jan 17, 2024

niubi

@jackuhan
Copy link

thks niubi

@Dchih
Copy link

Dchih commented Jan 17, 2024

thks

@shuyhere
Copy link

nice!!niub

@YesOrNo828
Copy link

niubility.

@tanpero
Copy link

tanpero commented Jan 18, 2024

niubility

@IWSR
Copy link

IWSR commented Jan 18, 2024

niubility!!!

@FengMingquan-sjtu
Copy link

Thanks a lot! It works for my Ubuntu remote server

@huazhikui
Copy link

thx!

@ramsayi
Copy link

ramsayi commented Jan 18, 2024

niubility

@kaiykk
Copy link

kaiykk commented Jan 18, 2024

Thanks a lot!

@mavisli
Copy link

mavisli commented Jan 18, 2024

thx!

@BUB97
Copy link

BUB97 commented Jan 18, 2024

niubility!!!

@varrtix
Copy link

varrtix commented Jan 18, 2024

niubility

@IvanJijon
Copy link

IvanJijon commented Jan 18, 2024

Adding these two lines to my ssh config fixed my problem. Thx!!

Hostname ssh.github.com
Port 443

I've been working for ages without adding those two lines with SSH enabled repositories.
Why is this config necessary now?

@996kid
Copy link

996kid commented Jan 19, 2024

good

@anlityli
Copy link

Thanks

@ASong111
Copy link

niubility!

@Caojiahao-Coder
Copy link

Thanks!

@luhaifeng666
Copy link

thx!!!

@hankeyyh
Copy link

you are truly hero!

@uniquejava
Copy link

Niubility +1, looks that this happened recently.
Actually, there is an explanation here why we need to add Port 443: https://stackoverflow.com/a/52817036/2497876

@NiceDay608088
Copy link

new error " Failed to connect to github.com port 443 after 21051 ms: Couldn't connect to server" after adding the cofig file

@aidlpy
Copy link

aidlpy commented Jan 19, 2024

THX

@eacryo
Copy link

eacryo commented Jan 19, 2024

good way to solve,it fix my problem

@Cuile
Copy link

Cuile commented Jan 19, 2024

thank you!

@lxyhit
Copy link

lxyhit commented Jan 19, 2024

thx

@Billy1203
Copy link

Thanks a lot!

@wtyn
Copy link

wtyn commented Jan 20, 2024

Thanks a lot

@ace-shifu
Copy link

Hahahah
niubi == Awesome == so fucking great!!!

@mirinzhang
Copy link

Thanks a lot~

@bamboo-pan
Copy link

thanks

@YouChuanlong
Copy link

thanks ~

@littlewhitehhh
Copy link

Thank you, buddy

@Yonoi
Copy link

Yonoi commented Jan 21, 2024

Why? the port 22 doesn't work?

@abrahamgreyson
Copy link

Saved my day.

@dandelion-7
Copy link

Niubility!

@Damilare50
Copy link

Thanks a lot!👌

@LemonAppleMo
Copy link

Niubility!

@Alex-Lin5
Copy link

Thank you man, it works on my machine.

@smartqy
Copy link

smartqy commented Jan 23, 2024

thanks a lot!!!

@yanglaolee
Copy link

Niubility! 牛逼牛逼

@uuzimu
Copy link

uuzimu commented Jan 23, 2024

Niubility!

@xzljoe
Copy link

xzljoe commented Jan 23, 2024

Niubility!

@flower0wine
Copy link

thanks😁

@Vir-Dominary
Copy link

Thanks!

@gaoqiangks
Copy link

niubility

@JustAbadbadboy
Copy link

thx!

@jamisonjiang
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:

@paullok999
Copy link

thx!

@gyx1210
Copy link

gyx1210 commented Jan 24, 2024

new error " Failed to connect to github.com port 443 after 21051 ms: Couldn't connect to server" after adding the cofig file

Try another port and try again

@fyulingi
Copy link

thx!

@ha1o0
Copy link

ha1o0 commented Jan 25, 2024

thx!

@sgao52
Copy link

sgao52 commented Jan 25, 2024

For guys who are confused about "How to save config files"in Vim:
Press ESC to enter command mode.
Type :w and press Enter to save changes.
Type :q and press Enter to quit.

@kbxu
Copy link

kbxu commented Jan 26, 2024

newbi!

@AzenXu
Copy link

AzenXu commented Jan 27, 2024

new bee!!!

@tao996
Copy link

tao996 commented Jan 27, 2024

wa..thank you very much

@benhuang1024
Copy link

good

@xavierskip
Copy link

work for me!!! THK

@tyl124
Copy link

tyl124 commented Jan 28, 2024

niubi !

@tea-coffee-egg
Copy link

thanks!

@yamakasiluke
Copy link

lgtm

@hugokung
Copy link

thanks

@dablelv
Copy link

dablelv commented Jan 29, 2024

Why? the port 22 doesn't work?

What happened? I am also confused.

@UjuiUjuMandan
Copy link

UjuiUjuMandan commented Jan 29, 2024

What happened? I am also confused.

This gist is probably to workaround some GitHub server outage in the past, but it got hot recently in Chinese community. Why?

Because the Great Firewall of China has blocked the default IP of github.com, 20.205.243.166, since Jan 16.

Chinese programmers have coexisted harmoniously with GFW and are not even aware of its existence.

Even if you never care about politics, it would first come to you. TALK ABOUT POLITICS!


Update: The block was lifted on Jan 31.

@ShujiaHuang
Copy link

niubility!!!!

@gujiu21L
Copy link

Ohhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh....
You're amazing!!!
I couldn't have done it without you!

@xiao-guan
Copy link

有用,强啊铁汁

@YuSheng1223
Copy link

it works,thanks

@18639710721
Copy link

nice

@Gavinluo
Copy link

niubility!!!!

@yaohuiwu
Copy link

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

Not worked. It reports the following error after I set the config:

git pull
致命错误:远程错误:
is not a valid repository name
Visit https://support.github.com/ for help

@whu-lyh
Copy link

whu-lyh commented Feb 1, 2024

niubility!!!!

how you fixed it? it seems doesn't work for me!

@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