github ssh 连接 22 端口 Connection refused
问题发现
突然发现 GitHub 上拉代码失败了,确认了密钥没有问题之后发现是和 github 的 ssh 连接有问题。通过下述命令发现是 22 端口连接被拒绝。
解决方式
一种是网络上比较容易搜到的,通过 443 端口进行访问:
在 HTTPS 端口使用 SSH - GitHub
Solution for 'ssh: connect to host github.com port 22: Connection timed out' error
$ vim ~/.ssh/config
# Add section below to it
Host github.com
Hostname ssh.github.com
Port 443
另一种是我自己排查过程中想到的,因为前几天还没有这个问题,同时同一个网络下的其他同事依然是正常的,突然 22 端口被拦有些诡异
然后顺手 ping 了一下 github,发现 ip 是 20.205.243.166,而且都超时了
查了下这个 ip 是新加坡的微软云,国内的 DNS 应该大概率解析到这个 IP
而 140.82.113.4 应该是 GitHub 的美国服务器节点
20.205.243.166 这个节点可能出了什么问题,手动修改 hosts 文件把 github.com 改成 140.82.113.4
再次 ping 发现 ip 切过来了,而且不再超时
再次尝试 ssh 正常