解决了 Connection closed by 端口22 的报错问题, 特来记录一下:

起因

window10操作系统,今天在拉取Github仓库的时候遇到了协议报错 :

$ git fetch --prune --all --verbose

Fetching origin
kex_exchange_identification: Connection closed by remote host
Connection closed by 198.18.0.114 port 22
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
error: could not fetch origin

思路

第一步,先去查了一下是不是SSH的私钥过期了, 但查了一下并没有问题。这时候你按照网上的教程:删除SSH公钥,然后重新生成的公钥,配置到GitHub,应该都是不好使的。

第二步,思考了一下近期的操作,使用新的梯子,设置了TUN模式代理了全局, 有可能造成了端口变化, 导致了git基于SSH拉取出了问题。

第三步,查了一下关于关于git端口设置的相关问题, 参考了几个技术问答的答案, 最后解决的方式就很简单了。直接配置SSH访问的端口号就好。

方案

第一种:

可以放弃SSH方式, 换用HTTPS方式来读取和拉取代码。

第二种:

坚持使用SSH方式,在 {用户}/.ssh/ 目录下建立config文本文档,输入以下代码,端口指向443即可。

Host github.com
Hostname ssh.github.com
Port 443

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐