github push ssh方式 出现 port 443 22 的报错排查及踩坑

8,937 阅读3分钟

出现的报错

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

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

之前是一直没什么问题的,突然github就出现了443,出现这种端口拒绝肯定是跟我们的网络配置有关系,那么具体是哪里出现问题呢?我回想了下今天由于C盘爆满了,突然添加文件会出现失败的提示,类似手机爆满一直弹出那个弹框提示你说要去把空间清理了,才能读和写文件。

排查了一下午,对这个报错很莫名其妙,那我想到,那么我不如来一个重装大法,使用了 win10自带的重置电脑的功能,然而重置之后然并卵.

image.png 于是再回想做了什么关与网络的配置,想到,用了腾讯管家修复网络以及360修复网络,还有开了个clash可能也有关系。

基于 443,我用了360有使用到了DNS优选的功能

image.png

image.png 如果让360默认修改,会强行给你配置了一个 360安全DNS服务器

DNS是啥?

DNS域名系统域名系统(英文:Domain Name System,缩写DNS)是互联网的一项服务。它作为将域名IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。DNS使用UDP端口53。当前,对于每一级域名长度的限制是63个字符,域名总长度则不能超过253个字符。

DNS配置哪个好?

可以参考下文章 www.wjdiy.cn/m/wangluo/4…

114.114.114.114和8.8.8.8,这两个IP地址都属于公共域名解析服务DNS其中的一部分,而且由于不是用于商业用途的,这两个DNS都很纯净,不用担心因ISP运营商导致的DNS劫持等问题,而且都是免费提供给用户使用的。

我们可以配置上面两个会比较方便。

然后把win10的 DNS 改为 114.114.114.114,还真立马见效,出现了port 22的报错

参考了下StackOverflow 的大佬的解决方式,就是暴力删除再自行配置 stackoverflow.com/questions/5…

image.png

果断把 ~/ssh 下方的 所有文件删除

// 使用命令行,看下ssh 和 git链接的连接情况
ssh -T git@github.com

这时候又报了错误如图 image.png

这时候,我们再配置config,配置如下

Host github.com
User hellojue@foxmail.com(即自己的用户名)
Hostname ssh.github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa
Port 443

其中User为用户名,需要你修改成为你自己的用户邮箱

再执行

ssh -T git@github.com
ssh -T git@github.com
Hi Jueee! You've successfully authenticated, but GitHub does not provide shell access.

这时候 我们可以使用以下的命令行执行ssh 的私钥和公钥的配置

ssh-keygen -t ed25519 -C "用户名"

这时候,我们再把c:/Users/AlexYi/.ssh/id_rsa.pub,公钥拿到github上配置,就大功告成了。

最后就是可以拉取成功代码了,真是历尽千辛万苦,苦尽甘来。