解决ssh: connect to host github.com port 22

git
|
#git


预计 2 min read


问题复现

如果你电脑上的git能在大部分地方进行同步,但是在某处地方的网络下无法同步,并且运行git pullgit push长久没有反映,最后出现ssh: connect to host github.com port 22: Connection timed out,很可能是你的网络供应商(比如广电网)在出口防火墙上屏蔽了22端口,这意味着你将无法访问其他主机的22端口。 对此,github提供了一种解决方案,允许你使用443端口进行ssh连接,因为443端口是访问https网站所必须的,大部分防火墙都会允许通过,但如果使用代理服务器可能产生干扰。

解决方案

  1. 首先测试 443 端口是否可用
1
ssh -T -p 443 [email protected]
  • 如果此方法可以进行连接成功,则简单配置
  1. git bash here 进入 git 命令窗口,输入 vim ~/.ssh/config,提示新建文件也没问题,如果有内容则只需将 Port 22 改成 Port 443 即可。
  2. .ssh/config 中增加内容如下
1
Host github.com
2
Hostname ssh.github.com
3
Port 443
4
User git
  1. 最后点击 esc 输入 :wq 保存即可。
  2. 最后验证一下是否链接成功 ssh -T [email protected] 测试是否链接成功。

参考文档

   
评论