GitHub SSH git push✔️
背景
国内因为特殊的网络环境访问GitHub网站总是不太稳定,但经过一些科学手段使流量中转后,访问会有很大改善。使用SSH方式的 git push 也经常时好时坏。如果遇到 git push 长时间不响应,之前笔者会更改网络环境,然后一般就可以成功push。可是从昨天到现在,笔者尝试了各种网络环境(家里的WIFI,手机流量,学校内网的代理,国外的代理)均以失败告终,然而当笔者登录国外的代理服务器尝试 ssh -Tv git@github.com 时却可以正常连接。限于笔者当前的水平,无法检查问题出现在网络连接的哪个环节。(可能是国内的github.com的22端口被封了)
所以,GitHub上如何成功使用SSH方式的 git push 是这篇文章主要解决的问题。
解决办法
编辑 ~/.ssh/config 文件:
Host github.com
User git
HostName ssh.github.com
Port 443
上述文件的作用是使得通过SSH协议向github.com的22端口传输的流量,变为向ssh.github.com的443端口传输,以达到绕过端口封锁的限制。实际测试也可以将Port写为22,不过443似乎响应速度更快一些。
由于443端口通常是HTTPS协议的端口,所以一般不会被封,可以放心使用~