运行基本 git 命令(如“git fetch”)时出现 kex_exchange_identification 错误

Posted

技术标签:

【中文标题】运行基本 git 命令(如“git fetch”)时出现 kex_exchange_identification 错误【英文标题】:kex_exchange_identification error when running basic git commands like "git fetch" 【发布时间】:2021-12-05 23:15:19 【问题描述】:

我在同一个 git repos 上运行了 2 年相同的命令,这个错误突然发生在我身上。如果我多次运行它,那么有时它会起作用,有时它不会

我正在运行“git fetch”

Fetching origin
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.
error: Could not fetch origin

我删除了我的 .ssh 文件夹并在 github 中重新创建了一个 ssh 密钥,但它没有帮助。

一些调试日志:

ssh -vvv git@github.com
OpenSSH_8.1p1, LibreSSL 2.7.3
debug1: Reading configuration data 

【问题讨论】:

【参考方案1】:

这个:

你好shengyaliu1212!您已成功通过身份验证,但 GitHub 不提供 shell 访问权限。

表示一切正常。

如果一切总是与 ssh 一起工作,但在将 ssh URL 与 Git 一起使用时从不或很少工作,这表明 - 尽管本身并不能证明 - ssh 命令 Git em> is running 与 ssh 命令 you 运行的 ssh 版本不同。检查您的 Git 配置中的core.sshCommand 设置,和/或您的环境中的GIT_SSH 和/或GIT_SSH_COMMAND。请注意,Git-for-Windows 附带一个捆绑的 ssh 版本,不同于 Windows 提供的 ssh,因此这是使用两个不同的 ssh-es 的一种非常简单的方法。您可以简单地使用有效的。

剩下的可能是某些中间人(ssh 代理等)干扰了您的系统和 Git 之间的 ssh,但这通常会导致所有 ssh 连接不稳定。您的ssh -v 测试连接也可能失败。

【讨论】:

以上是关于运行基本 git 命令(如“git fetch”)时出现 kex_exchange_identification 错误的主要内容,如果未能解决你的问题,请参考以下文章

git fetch后怎么比较差异

git基础教程(27)远程仓库与git fetch

为啥 git 不定期运行 git fetch?

git fetch 命令

从git pull和git fetch到txt文件中回显git消息/输出

git fetch