摘要:最近,OpenSSH 项目发布了备受期待的 OpenSSH 10.0。这是自 2014 年 OpenSSH 6.7 发布以来的又一重要版本。此次更新包含了多项增强功能和对安全性的改进,但同时也可能引发一些用户的困惑,特别是关于加密方面的变化。
最近,OpenSSH 项目发布了备受期待的 OpenSSH 10.0。这是自 2014 年 OpenSSH 6.7 发布以来的又一重要版本。此次更新包含了多项增强功能和对安全性的改进,但同时也可能引发一些用户的困惑,特别是关于加密方面的变化。
OpenSSH 10 是在 OpenSSH 9.x 系列的基础上构建的,经过了长时间的开发和测试。虽然团队在 9.x 版本中也引入了许多改进,但 OpenSSH 10 可以说是 OpenSSH 项目的一个全新开始,因为团队决定淘汰一些过于陈旧的功能。
新版本中最引人注目的变化是,默认情况下,OpenSSH 已经完全禁用了部分弱加密算法,例如 DSA 和 Diffie-Hellman (DH) group 1 和 2。这些算法被认为安全性不足,无法满足现代网络安全要求。开发团队的目标是推动整个行业升级,强制使用更强大的加密方法,例如 ECDSA、Ed25519 和 Diffie-Hellman group 14/15/163。
如果你之前还在使用这些弱算法,本次升级可能会让你的系统在连接时提示“NoSuchKey”或其他错误,因为它不再支持旧的密钥类型[1]。
为了进一步简化代码库,OpenSSH 10 删除了对一些过于旧版本协议的支持。这些协议已经不再能满足现代的安全需求,团队希望通过这种方式“淘汰”旧技术[1][2]。
由于 OpenSSH 10 是一个新版本,用户在升级时需要注意以下几点:
检查依赖项和兼容性在升级之前,请确保你的系统已经安装了所有必要的依赖项,并检查是否有依赖于旧版本 OpenSSH 的软件可能会受到影响。更新配置文件
OpenSSH 的配置文件(ssh_config 和 sshd_config)需要根据新版本的要求进行调整。特别是,如果你仍然使用旧的密钥格式或弱加密算法,你需要:禁用弱加密算法
在 sshd_config 中注释掉 或 删除任何相关的弱加密配置。更新默认的密钥类型
确保默认生成的是 Ed25519 或 ECDSA 格式的密钥。示例配置:# 强烈推荐的密钥类型 HostKey /etc/ssh/ssh_host_ecdsa_key HostKey /etc/ssh/ssh_host_ed25519_key重新生成密钥对
如果你的旧密钥格式仍然被支持,建议重新生成新的密钥对,以提高安全性。ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519重启 SSH 服务
完成上述修改后,不要忘记重启 SSH 服务以使更改生效。sudo systemctl restart sshd
OpenSSH 10 的升级可能会导致一些旧系统无法连接。特别是,如果你的 OpenSSH 客户端版本低于 10,它可能无法与升级后的服务器兼容。
如果你的旧密钥格式仍然被支持,但其他系统可能仍然支持旧的 OpenSSH 版本。如果出现问题,可以通过以下方式解决:
在服务器端,可以在 sshd_config 中临时添加支持旧密钥格式(例如 DSA 或 Ed25519_old),但需要注意这种方式仅适用于短期过渡。OpenSSH 10 的发布无疑是一次重大的更新,但也可能给用户带来一定的挑战。对于大多数用户来说,升级的好处显然大于成本:
更高的安全性:通过默认禁用弱算法和强制使用更强大的加密方法,OpenSSH 10 提供了更安全的 SSH 通信。更简洁的代码库:移除旧版本的支持可以使 OpenSSH 更加简洁高效,同时减少潜在的安全漏洞。因此,建议所有用户尽快升级,以享受更好的安全性和功能。
OpenSSH 10 的发布标志着 OpenSSH 项目进入了一个新的阶段。它不仅带来了更高的安全性,还推动了整个行业向更现代化、更安全的技术演进。虽然升级可能会带来一些短期的不适,但从长远来看,这对用户和整个生态系统都是有益的。
如果你尚未升级,请按上述步骤操作,并确保你的配置文件和密钥格式符合新标准的要求。
来源:linux运维菜一点号1