Skip to content
01.版本控制»01.Git»99.常见问题»LV005-端口被拒绝.md

LV005-端口被拒绝

一、问题描述

最近遇到了一个问题,其实并没有搞明白是怎么回事,不清楚为什么会发生这样的情况,就是在git push的时候会有如下错误产生:

shell
ssh: connect to host github.com port 22: Connection refused
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

二、问题排查

遇到这个问题后,我做了以下处理,排查问题所在:

(1)首先查看SSH是否与Github建立连接。

shell
ssh -T git@github.com

然后收到了如下的提示:

shell
ssh: connect to host github.com port 22: Connection refused

(2)查看自己电脑本地的.ssh文件中的公钥是否已经保存到Github中,经过检查,发现是正常的。

(3)我开始怀疑是网络问题,毕竟Github经常无法访问,于是,我首先换了手机热点,重新检测是否可以正常连接,结果是与上边一样的。然后我使用了某些方法上网加速了一下(大家都懂的吧,哈哈哈),结果依然并没有什么改变。

显然,到目前为止,知道出现了这个问题,不懂是怎么出现的,不知道是不是与最近自己在学习云服务器有关系,不过问题不大。

三、问题解决

网上查阅了很多资料,才发现其实很多人也都遇到过这样的问题,我所采用的方法是:

  • (1)打开Git安装目录下的etc\ssh\ssh_config文件或者~/.ssh/config

这个文件就在Win下,我们安装Git的目录下,应该比较好找,也不是一个隐藏目录。在ubuntu下的话,一般是需要新建的,~/.ssh/config

  • (2)在文件中添加以下内容
markdown
Host github.com
User <user Email>
Hostname ssh.github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa
Port 443

上边的User后边要写上自己绑定的在Git中使用的邮箱。

  • (3)检查是否可以连接成功
shell
ssh -T git@github.com

然后,那个问题就解决了:

shell
Hi qidaink! You've successfully authenticated, but GitHub does not provide shell access.

其实即便是问题解决了,但是似乎还是没有找到问题所在,感觉像是自己经常科学上网,导致端口发生了变化吧。

莫道桑榆晚 为霞尚满天.