Github报错:Kex_exchange_identification: Connection closed by remote host

1. 背景介绍

Github提交或者拉取代码时,报错如下:

Kex_exchange_identification: Connection closed by remote host
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

SSH Key已经设置并且同步。

# ssh -T git@github.com
kex_exchange_identification: Connection closed by remote host

2. 排查和解决方案

这个错误表明 SSH 连接被远程主机关闭,可能的原因包括:

  • 网络问题:确保你的网络连接正常,没有被防火墙或代理阻挡。尝试使用其他网络连接来排除网络问题。
  • SSH 配置问题:检查 SSH 配置文件(通常在 ~/.ssh/config 中)是否正确。如果文件不存在,你可以尝试创建一个基本配置文件:
Host github.com
  User git
  Hostname github.com
  IdentityFile ~/.ssh/id_rsa

  • SSH 密钥问题:确保你的 SSH 密钥正确配置,并且已经将公钥添加到 GitHub 账户中。你可以尝试重新生成 SSH 密钥并添加:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

然后将 ~/.ssh/id_rsa.pub 文件的内容添加到 GitHub 的 SSH 密钥中。

  • GitHub 服务器问题:GitHub 服务器可能暂时出现问题。你可以访问 GitHub 状态页面 检查是否有服务中断。
  • SSH 客户端问题:确保你的 SSH 客户端是最新版本,尝试升级 SSH 客户端或重新安装。
  • 检查 GitHub 端口:确保你的网络没有阻挡 SSH 端口(通常是端口 22)。有时公司或组织的网络会限制这些端口。
  • 使用 HTTPS:如果 SSH 无法解决问题,可以尝试使用 HTTPS 克隆仓库:
git clone https://github.com/JMoonr/LATR.git
  • 替代端口,端口 443:这通常用于绕过防火墙或代理限制,因为端口 443 是 HTTPS 的标准端口。可以尝试使用这个端口来连接 GitHub。
Host github.com
  HostName ssh.github.com
  User git
  Port 443
  IdentityFile ~/.ssh/id_rsa

如果上述都不行的话,大概率是开了VPN。关闭VPN,过一段时间就正常了。
在这里插入图片描述

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值