今天push
代码到github
上的时候遇到了一个问题:
ssh: connect to host github.com port 22: Connection timed out
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
测试与 github
的连接也失败了
ssh -T git@github.com
ssh: connect to host github.com port 22: Connection timed out
原因在于使用 SSH
连接时 22
端口被阻塞了。
虽然我也不知道为什么
经过了一番查找终于在官网文档中找到了解决方案
首先测试是否可以在端口 443
上通过 SSH
连接到git@ssh.github.com
,如果可以则覆盖 SSH
的设置强制与以 GitHub.com
的连接都通过该服务器运行。
输入一下命令测试
$ ssh -T -p 443 git@ssh.github.com
// 如果你也输出下面的提示,那么证明可以使用 443 端口
> Hi username! You've successfully authenticated, but GitHub does not
> provide shell access.
接下来找到你的 .ssh
文件夹 (一般都在你的用户目录下),在 .ssh 文件夹中新建一个文件 config
(没有后缀名),然后再config
文件中添加下面配置:
Host github.com
Hostname ssh.github.com
Port 443
User git
配置好了之后可以重新测试一下:
$ ssh -T git@github.com
> Hi username! You've successfully authenticated, but GitHub does not
> provide shell access.
测试通过,重新 push
成功