git - 尝试使用 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:无效的索引包输出
解决方案
当您使用 HTTPS 时,这是 TLS 隧道内的隧道 HTTP 连接。TLS 提供的功能之一是完整性:也就是说,攻击者无法在不被发现的情况下修改数据。
消息“decryption failed or bad record mac”表示某人或某物(即您的系统和 GitHub 之间的某人或某设备)确实篡改了数据,因此唯一要做的就是中止连接。如果 OpenSSL 在这种情况下没有中止连接,您将收到损坏或恶意的数据。
这里有很多可能性。如果您在网络上使用代理、非默认防病毒软件或防火墙,或 TLS MITM 设备,那么这可能就是问题所在。众所周知,这些设备在其 TLS 实现中存在各种问题,其中一些会影响安全性。您应该尝试不安装它们,或使用不同的网络。
您之间的网卡或网络设备损坏也可能导致问题。例如,一些用户报告了 AT&T 的已知故障,而其他 ISP 可能有其他问题。
您也可以尝试通过 SSH 进行克隆,看看是否可行。像我上面提到的那种 TLS 中间盒将无法篡改 SSH 连接,因此这对您来说可能更可靠。当然,如果出现网络问题,它也可能会影响 SSH,但至少在这种情况下,您会很明显这是网络问题。
推荐阅读
- c# - 我不明白代码的 Try Catch Exception 部分
- android - 使用新的 prefixText 时如何更改 TextInputLayout 的提示填充?
- java - Akka Http 请求和响应模式
- typescript - 如何使用 TypeORM 在 React-Native 中处理 SQLite 迁移?
- android - AppBarLayout 中的 NavHostFragment 内带有 TabLayout 的 ViewPager
- mysql - MYSQL 变量限制和子查询
- fullcalendar - (Fullcalendar 4 VueJs)在日历标题中添加自定义元素
- python - Matplotlib 在每次执行时随机忽略传递的参数
- python - Pandas:如何创建一个列,该列指示值何时出现在另一列中预先设定的行数?
- mysql - sql左外连接三张表