LV02-Git问题处理-01-端口连接被拒绝

本文主要是使用Git过程中在Windows下遇到的一个问题及其解决过程的相关笔记,若笔记中有错误或者不合适的地方,欢迎批评指正😃。

点击查看使用工具及版本
Windows windows11
Ubuntu Ubuntu16.04的64位版本
VMware® Workstation 16 Pro 16.2.3 build-19376536
点击查看本文参考资料
点击查看相关文件下载
--- ---

一、问题描述

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

1
2
3
4
5
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建立连接。

1
ssh -T git@github.com

然后收到了如下的提示:

1
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)在文件中添加以下内容
1
2
3
4
5
6
Host github.com
User <user Email>
Hostname ssh.github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa
Port 443

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

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

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

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

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