一、问题描述

今天在读书馆学习,push推送代码到github时,推送失败了,git pull、git clone都失败

报错主要内容如下:

kex_exchange_identification: read: Connection reset by peer
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.

说明一下:此时我本地的github工程,使用的是git clone SSH-url拉取下来的

二、导致原因

1、网络问题

同样的项目,使用手机热点连接笔记本,git pull正常,但是连接读书馆的wifi进行git pull就报错

如图:

解决办法:

要么不使用读书馆的wifi,要么将git clone SSH-url换成git clone HTTPS-url,重新拉取代码

不过一般都是本地改了代码的,重新拉代码不太可能,所以还是使用手机热点或者连接到无限制的网络吧!!

 2、SSH失效

一开头我也说了,我本地的github工程是通过git clone SSH-url拉取下来的,那如果不是网络的问题,一般就是ssh密钥的问题,可能是密钥过期或者密钥错误

检查下SSH key密钥内容,不确定的话,可以本地重新生成最新的SSH KEY拷贝到服务器SSH KEY中

生成SSH公钥 

在Git bash命令窗中:

cd ~
cd .ssh
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
cat id_rsa.pub

拷贝ssh公钥到服务器

3、ssh切换为https

开头也说了,本地的代码时通过git clone SSH-url方式拉取的,又是读书馆wifi(有限制的网络),如果你坚决要用这个网络,那可以尝试最后一种方法,也就是网上大多地方提到的方法

命令如下:

git remote set-url origin HTTPS-url

 这种方法确实可以解决问题,但实际上是将ssh方式切换为了https方式拉取代码,具体HTTPS-url的地址从github服务器上重新拷贝下即可。

Logo

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

更多推荐