全部平台AI安卓iOSMacWindowsLinux精选
快讯 不想把文件交给第三方云盘?自己搭一个私有同步盘:Seafile 社区版
首页 / 正文

GitHub 11 月 4 日起停用旧 SSH 算法:你的 RSA 密钥可能连不上,五分钟换 Ed25519

2026-10-26 阅读 38 💬 0 条评论

如果你用 SSH 密钥连 GitHub,而且那把密钥还是几年前建的 RSA 密钥,这个月最好抽五分钟检查一下:GitHub 正在分批停用一批旧的 SSH 算法,11 月 4 日与 12 月 9 日各有一次临时停用演练,正式移除在即。到时密钥不对路,git push 会直接连不上——提前换一把新密钥,五分钟的事,拖到当天才处理就是一次加班。

开发者桌面的终端与安全密钥概念图

对谁有用

所有用 SSH 方式([email protected])克隆、推送代码的人。HTTPS 方式不受影响;密钥是 Ed25519 或 ECDSA 的,基本不受影响;受影响的是还在用 RSA + SHA-1 签名(ssh-rsa)的老密钥,以及用了旧密钥交换算法 diffie-hellman-group-exchange-sha256 的连接。GitHub 同时收紧了新密钥的门槛:2026 年 10 月 14 日起,新上传的 RSA 密钥必须至少 3072 位,以前常见的 2048 位 RSA 密钥传不上去了。

有什么变化

按 GitHub 官方更新日志,这次调整一共四件事:停用 RSA 的 SHA-1 签名(包括 ssh-rsa 签名类型与用 SHA-1 的 [email protected] 证书),SHA-1 已知不够安全;停用 diffie-hellman-group-exchange-sha256 密钥交换,这种算法又慢又少有人用,还可能被量子计算进展攻破;新 RSA 密钥至少 3072 位,对齐 128 位安全强度;新增抗量子密钥交换 mlkem768x25519-sha256,在 github.com 与 GitHub Enterprise Cloud(数据驻留版,美国区除外)上可用。时间线是:10 月 14 日新密钥长度要求与 ML-KEM 生效;11 月 4 日第一次 brownout(临时停用演练),旧算法短时间不可用;12 月 9 日第二次演练,之后正式移除。

读者下一步能做什么

1. 先查自己用的是什么密钥。终端里跑 ssh-keygen -lf ~/.ssh/id_rsa(或你实际的密钥文件),看输出的位数与类型;再看 ~/.ssh/config 与 GitHub 账号设置里的 SSH keys,确认在用的那把是哪种。

2. 是 RSA 2048 位或更老的,直接换 Ed25519。生成新密钥:ssh-keygen -t ed25519 -C "你的邮箱",一路回车即可;然后把 ~/.ssh/id_ed25519.pub 的内容贴到 GitHub 设置 → SSH and GPG keys → New SSH key;最后跑 ssh -T [email protected] 验证能连上,看到问候语就成了。旧密钥可以在确认新密钥能用之后删掉。

3. 有多台机器、多仓库的,11 月 4 日之前逐台换。服务器上的部署密钥、CI 里的密钥最容易漏,演练当天才发现连不上,修起来比现在麻烦得多。GitHub 的 brownout 就是给所有人留的最后检查窗口——演练时如果你的推送失败了,说明那把密钥必须换了。

站长判断

GitHub 这次不是突然发难:9 月 22 日就发了公告,10 月 14 日先生效新密钥门槛,11 月与 12 月两次演练才正式动手,节奏给得够足。真正会中招的是两类人:一是密钥建了好几年、从来没动过的人,二是服务器、NAS、CI 里藏着部署密钥的人——后者尤其要逐台查。换 Ed25519 没有任何代价,生成、上传、验证五分钟;不换的代价是某天早上推送失败,还得现查是哪把密钥出的问题。11 月 4 日之前换掉,就是全部成本。

相关阅读

信息来源:GitHub 官方更新日志:SSH 安全改进(2026-09-22);文中判断为本站观点。

评论

发表评论

首次评论需审核后显示,邮箱不会公开。

关于本站 隐私政策 免责声明 联系我们 © 2026 Iggy 软件 iggysoft.com