解决SSH报错ssh: connect to host github.com port 22: Connection timed out

将SSH端口换到443,解决Git-deploy时22端口的报错timed out(或refused)的情况

不出意外这个SSH密钥在我几个月没用Github之后又出意外了。最近hexo deploy的时候发现报错,不过和之前那次需要输账号密码的情况不一样,而是提示端口错误:

和之前一样,同样第一反应是没魔法或者网络环境导致的,但是怎么换环境都一样timed out,Ping过了Github的服务器也检查了账号的SSH,服务端肯定是没问题了,防火墙也没开。然后看了一下之前写的东西,发现端口号不对劲,以前用的似乎是443端口,怎么现在又变成22了。于是搜索后发现SSH默认端口就是22,那么肯定就是这个22端口因为其他原因走不通导致的。测试ssh状态发现:

于是考虑将其再换回443端口:

首先来到ssh的本地路径下,为C:\Users\你的用户名\.ssh,在.ssh的文件夹中创建一个名为Config的文本文档,内容为:

1
2
3
Host github.com
Hostname ssh.github.com
Port 443

保存后,cmd中运行(Git Bash也可以)测试ssh状态:
$ ssh -T git@github.com //注意这里的邮箱地址就是git@github.com

这个20.205.243.160的地址应为当前国内解析出的Github的服务器地址,位于新加坡。此时会有一行连接确认信息,直接输入yes,会看到:Hi <你的用户名>! You’ve successfully authenticated, but GitHub does not provide shell access.连接成功。

然后再deploy的时候就没有任何问题了。

  • 版权声明: 本博客所有文章著作权归作者所有,禁止任何形式的转载。
  • Copyrights © 2019-2024 Caelica

请我喝杯咖啡吧~