关于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的方法不能使用,还待我继续研究。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容