赞
踩
Author: Labyrinthine Leo Init_time: 2020.10.29
Index Words: ssh、connection timed out

在解决问题之前,且容笔者将其过程一一道来,博主之前一直使用的是github,通常会将一段时间的收获push到github上,在git bash中常用git status、git add *、git commit -m "..."、git pull origin master、git 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
结果这一pull没成功不说,切换进github文件,进行git push就出现如下错误:

最后花了很长时间才解决,两者均可push,特此写博志之,希望有相关问题者能够通过本篇博客解决你类似的问题,好运。
这里将笔者本人的解决过程分享:
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
大致意思就是默认的22端口修改,然后继续在git bash中输入ssh -T git@github.com,不出意外就会出现如下信息:

这样的话,github22端口超时的问题就解决了,证明ssh连接是没有问题的,这样github的项目可以正常的push和pull了。对了,可能有些同学使用vim修改不会操作,vim打开文件后,按下insert按键如何就可以输入了,输入完点击Esc,按下:wq回车退出即可。
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
事实证明,还是出错,并且会出现新的错误:
kex_exchange_identification: Connection closed by remote host Connection closed by **.***.***.** port 443
就很离谱,可能是网络或者端口或者ssh问题导致,属实无奈,笔者只能将ssh连接改为https连接。
gitee的文件目录中),输入git config --local -e,将其中url = git@gitee.com:yourname/repo.git修改为url = https://gitee.com/youname/repo.git同上保存退出即可。然后再在终端中输入git pull即可成功拉取了。由于笔者对网络连接不甚了解,这里简单说下鄙见:个人认为是因为端口的问题,并且共用一个公钥,导致冲突?有想法的同学欢迎指教!
临渊羡鱼不如退而结网
创作不易,如果您觉得这篇文章对你有用,可以点个赞,算是对笔者的支持和激励!这里是Leo的博客城堡,以Python为核,ML&DL为主,泛之形形色色,输寥寥拙见,摄浮光掠影,讲三两故事。临渊羡鱼,不如退而结网,持续干货输出,有趣的灵魂值得你的关注!
原文可以去笔者的github主页:https://github.com/LabyrinthineLeo/Yxs_Git_Learning_repos查看(如果可以,点个star也无妨呀,嘿嘿)。

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。