问题描述

错误信息:
今天突然用ssh方式 pull GitHub的项目报:ssh: connect to host xx.xx.xx.xx port 22: Connection timed out

表明 SSH 连接在尝试通过 22 端口连接到远程服务器时超时。这可能是由于网络环境、防火墙设置或代理配置等原因导致的(很可能端口22被防火墙或提供商阻止了)。

GitHub允许使用443端口
为了解决此问题,我们可以尝试将 SSH 连接切换到 443 端口。

解决方案

如果22号端口不行,那就换一个端口

操作方法:

  1. 进入~/.ssh下
1
cd ~/.ssh
  1. 创建一个config文件(这里我用的[vim编辑器]
1
vim config
  1. 编辑文件内容:
1
2
3
4
5
6
Host github.com
User git
Hostname ssh.github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa
Port 443

[^这将使你的 SSH 连接通过 443 端口与 ssh.github.com 进行通信,而不是默认的 22 端口。]:

  1. 保存退出[输入:wq 按ENTER键]

  2. 检查是否成功

    1
    ssh -T git@github.com

额,这里要根据它的提示操作,有个地方要输入yes

大功告成,这时候再试试git push,已经可以提交了!