当前位置:   article > 正文

“ssh:connect to host github.com port 22: Connection timed out“问题的解决_ssh: connect to host connection timed out

ssh: connect to host connection timed out

"ssh:connect to host github.com port 22: Connection timed out"问题的解决


Author: Labyrinthine Leo   Init_time: 2020.10.29


Index Words: sshconnection timed out


在这里插入图片描述

1、引言

在解决问题之前,且容笔者将其过程一一道来,博主之前一直使用的是github,通常会将一段时间的收获pushgithub上,在git bash中常用git statusgit add *git commit -m "..."git pull origin mastergit push -u origin master等(貌似笔者也就会这几个指令)指令,那叫一个行云流水,妙键生花。然后由于相关项目涉及到使用gitee,因为之前有账号,便将~/.ssh/id_rsa.pub文件中的公钥放上gitee账户中,在本地git bash中新建文件夹用于存放gitee项目,add remote希望拉取项目,结果出现:

ssh: connect to host gitee.com port 22: Connection timed out
  • 1

结果这一pull没成功不说,切换进github文件,进行git push就出现如下错误:


在这里插入图片描述


最后花了很长时间才解决,两者均可push,特此写博志之,希望有相关问题者能够通过本篇博客解决你类似的问题,好运。

2、解决过程

这里将笔者本人的解决过程分享:

  1. git bash终端输入:ssh -T git@github.com,如果还是出现上图问题,那就是可能22端口出问题了,然后进入~/.ssh/目录下修改config文件,建议直接在终端中输入vim ~/.ssh/config,使用vim编辑器打开此文件,一般是为空,然后加上以下代码:
# Default github user self
Host github.com
	port 443 # 默认是22端口
	HostName ssh.github.com
	IdentityFile ~/.ssh/id_rsa
  • 1
  • 2
  • 3
  • 4
  • 5

大致意思就是默认的22端口修改,然后继续在git bash中输入ssh -T git@github.com,不出意外就会出现如下信息:


在这里插入图片描述


这样的话,github22端口超时的问题就解决了,证明ssh连接是没有问题的,这样github的项目可以正常的pushpull了。对了,可能有些同学使用vim修改不会操作,vim打开文件后,按下insert按键如何就可以输入了,输入完点击Esc,按下:wq回车退出即可。

  1. github正常以后,我们回到gitee的目录,输入ssh -T git@gitee.com发现还是超时,前面已经证明了ssh连接是没有问题的但还是出错,是不是可以依样画葫芦,在~/.ssh/config中添加修改gitee的端口信息呢?如下所示:
# Default github user self
Host github.com
	port 443
	HostName ssh.github.com
	IdentityFile ~/.ssh/id_rsa

# git ---新添加的信息
Host gitee.com
	port 443
	HostName gitee.com
	IdentityFile ~/.ssh/id_rsa
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

事实证明,还是出错,并且会出现新的错误:

kex_exchange_identification: Connection closed by remote host Connection closed by **.***.***.** port 443
  • 1

就很离谱,可能是网络或者端口或者ssh问题导致,属实无奈,笔者只能将ssh连接改为https连接。

  1. 在当前终端路径下(注意是在gitee的文件目录中),输入git config --local -e,将其中url = git@gitee.com:yourname/repo.git修改为url = https://gitee.com/youname/repo.git同上保存退出即可。然后再在终端中输入git pull即可成功拉取了。

3、总结

由于笔者对网络连接不甚了解,这里简单说下鄙见:个人认为是因为端口的问题,并且共用一个公钥,导致冲突?有想法的同学欢迎指教!

Reference

临渊羡鱼不如退而结网
创作不易,如果您觉得这篇文章对你有用,可以点个赞,算是对笔者的支持和激励!这里是Leo的博客城堡,以Python为核,ML&DL为主,泛之形形色色,输寥寥拙见,摄浮光掠影,讲三两故事。临渊羡鱼,不如退而结网,持续干货输出,有趣的灵魂值得你的关注!
原文可以去笔者的github主页:https://github.com/LabyrinthineLeo/Yxs_Git_Learning_repos查看(如果可以,点个star也无妨呀,嘿嘿)。


在这里插入图片描述


声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/44890
推荐阅读
相关标签
  

闽ICP备14008679号