问题

在使用的时候,本地上传文件到GitHub中,但出现了连接超时问题,这里检查了22端口,显示了端口被屏蔽

1
2
3
4
# 访问
ssh -T [email protected]
# 异常
ssh: connect to host github.com port 22: Connection timed out

分析

ping访问GitHub的是直接连接超时的,但使用了代理还是无法正常访问,但在用浏览器访问时是正常的,这里使用了其他的网络流量,上传文件成功了,这里经过测试,确认了是GitHub的IP是彻底的被前面使用的网络流量屏蔽了现在的GitHub的主机IP。

问题

使用ssh -vT [email protected]查询日志:

1
2
3
4
OpenSSH_for_Windows_9.5p1, LibreSSL 3.8.2
debug1: Connecting to github.com [20.205.243.166] port 22.
debug1: connect to address 20.205.243.166 port 22: Connection timed out
ssh: connect to host github.com port 22: Connection timed out

可以确定的是GitHub的IP地址是20.205.243.166,可以确认IP是正常的,但22的端口是无法正常访问使用,可以确认我的电脑使用GitHub的IP端口被运营商劫持了。

解决

去网络上查了很多资料,大部分都是更改22端口为443的端口,这里尝试了一下,虽然能正常访问了,但无法正常向GitHub上传文件,这里根据网上的教程在C:\Users\用户名\.ssh创建一个config文件,内容如下:

1
2
3
Host github.com
Hostname ssh.github.com
Port 22
  1. ssh.github.com能正常使用,为什么要改端口呢?所以这里就直接把Posrt改为22的端口,也可以直接使用ssh.github.comIP

  2. ipconfig /flushdns 刷新DNS缓存。

  3. ssh -T [email protected] 远程连接检查。

ssh.github.comgithub.com使用的IP是不一样的,可以ping获取。