关于github报错connect to host github.com port 22: Connection timed out的解决

最近更新npm的时候出了点问题。重装node后,我本地git突然就无法同步和连接远程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,发现一切正常并没有问题。

 

 

排除该问题之后我又测试了一下是否可以直接从终端连接github,结果如下

 

 

这结果就有点的尴尬了。我网页能上github查看我的远程库,本地git bash却连接不上。

这个时候我注意到了图中信息里的   port 22   

是端口的原因吗?我照着网上的说法 用443端口连接了一次github,命令如下:

$ ssh -T -p 443 git@ssh.github.com

成功



看来问题和网络连接有关没跑了。我试着在网上查了一下关于改动git端口的方法,什么在git下的etc文件里改动ssh_config配置,什么在公钥的文件夹里面建个config文件之类的,好像也并没有什么用(可能是我方法不对)。

折腾了半小时后我找到了一个比较直接有效的解决方案:通过修改github连接方式,从之前设置的ssh方法转成https方法(我理解为登录操作)。命令如下:

$ git config --local -e      //编辑本地git配置

url = git@github.com:你的用户名/仓库名.git

改为

url = https://github.com/你的用户名/仓库名.git

然后esc   :wq保存修改回车

试着拉了一下远程的代码结果如下

 

终于能正常使用了(虽然开始要输入账号和密码)

 

这种方法虽然并没有根本解决ssh连接失败的问题,但是总算能将代码传上去了。

至于为啥ssh的方法不能使用,还待我继续研究。

posted @ 2020-06-29 16:24  小芒果测开笔记  阅读(2455)  评论(0编辑  收藏  举报