首页 > 解决方案 > 尝试使用 git 克隆 repo 时得到这个

问题描述

错误:RPC 失败;curl 56 OpenSSL SSL_read: error:1408F119:SSL routines:ssl3_get_record:decryption failed or bad record mac, errno 0 error: 7889 bytes of body is still expected fetch-pack: 读取边带数据包时意外断开连接致命:早期 EOF 致命:fetch- pack:无效的索引包输出

标签: gitgithub

解决方案


当您使用 HTTPS 时,这是 TLS 隧道内的隧道 HTTP 连接。TLS 提供的功能之一是完整性:也就是说,攻击者无法在不被发现的情况下修改数据。

消息“decryption failed or bad record mac”表示某人或某物(即您的系统和 GitHub 之间的某人或某设备)确实篡改了数据,因此唯一要做的就是中止连接。如果 OpenSSL 在这种情况下没有中止连接,您将收到损坏或恶意的数据。

这里有很多可能性。如果您在网络上使用代理、非默认防病毒软件或防火墙,或 TLS MITM 设备,那么这可能就是问题所在。众所周知,这些设备在其 TLS 实现中存在各种问题,其中一些会影响安全性。您应该尝试不安装它们,或使用不同的网络。

您之间的网卡或网络设备损坏也可能导致问题。例如,一些用户报告了 AT&T 的已知故障,而其他 ISP 可能有其他问题。

您也可以尝试通过 SSH 进行克隆,看看是否可行。像我上面提到的那种 TLS 中间盒将无法篡改 SSH 连接,因此这对您来说可能更可靠。当然,如果出现网络问题,它也可能会影响 SSH,但至少在这种情况下,您会很明显这是网络问题。


推荐阅读