几天前 GitHub 宣布了多项更改 与收紧协议有关的服务 混帐,它在通过 SSH 或“git://”方案进行 git push 和 git pull 操作期间使用。
有人提到 通过 https:// 请求:// 不会受到影响 一旦更改生效, 至少需要 OpenSSH 7.2 版 (2016 年发布)或版本 0.75 来自腻子 (今年 XNUMX 月发布)通过 SSH 连接到 GitHub。
例如,对已经停产的 CentOS 6 和 Ubuntu 14.04 的 SSH 客户端的支持将被破坏。
来自 Git Systems 的问候,GitHub 团队确保您的源代码可用且安全。 当您从 Git 输入或提取数据时,我们正在进行一些更改以提高协议的安全性。 我们希望很少有人会注意到这些变化,因为我们正在尽可能顺利地实施它们,但我们仍然希望提前通知。
基本上提到的是 更改归结为停止支持未加密的 Git 调用 通过“git://”并调整访问GitHub时使用的SSH密钥的要求,这是为了提高用户建立的连接的安全性,因为GitHub提到它进行的方式已经过时并且不安全。
GitHub 将不再支持所有 DSA 密钥和传统 SSH 算法,例如 CBC 密码(aes256-cbc、aes192-cbc aes128-cbc)和 HMAC-SHA-1。 此外,还为新的 RSA 密钥引入了额外要求(禁止使用 SHA-1 签名),并实现了对 ECDSA 和 Ed25519 主机密钥的支持。
发生了什么变化?
我们正在更改哪些密钥符合 SSH 并删除未加密的 Git 协议。 具体来说,我们是:取消对所有 DSA 密钥的支持
为新添加的 RSA 密钥添加要求
删除一些旧的 SSH 算法(HMAC-SHA-1 和 CBC 密码)
为 SSH 添加 ECDSA 和 Ed25519 主机密钥
禁用未加密的 Git 协议
只有通过 SSH 或 git: // 连接的用户会受到影响。 如果您的 Git 遥控器以 https:// 开头: // 这篇文章中的任何内容都不会影响它。 如果您是 SSH 用户,请继续阅读以了解详细信息和时间表。我们最近停止通过 HTTPS 支持密码。 这些 SSH 更改虽然在技术上无关,但也是为了尽可能保护 GitHub 客户数据的安全。
将逐步进行更改 25519 月 14 日将生成新的主机密钥 ECDSA 和 Ed1。 对使用 SHA-2 哈希的 RSA 密钥签名的支持将于 XNUMX 月 XNUMX 日停止(之前生成的密钥将继续有效)。
16 月 XNUMX 日,将停止支持基于 DSA 的主机密钥。 11 年 2022 月 15 日,作为实验,将暂停对旧 SSH 算法的支持和不加密访问的能力。 XNUMX 月 XNUMX 日,将永久禁用对旧算法的支持。
此外,需要注意的是,OpenSSH 代码库已默认修改为禁用使用 SHA-1 哈希(“ssh-rsa”)的 RSA 密钥签名。
对 SHA-256 和 SHA-512 (rsa-sha2-256 / 512) 散列签名的支持保持不变。 终止对“ssh-rsa”签名的支持是由于具有给定前缀的碰撞攻击的有效性增加(猜测碰撞的成本估计约为 50 美元)。
要在您的系统上测试 ssh-rsa 的使用,您可以尝试通过 ssh 使用选项“-oHostKeyAlgorithms = -ssh-rsa”进行连接。
终于如果你有兴趣了解更多 关于 GitHub 正在进行的更改,您可以查看详细信息 在下面的链接中。