OpenSSH 是 100% 完整的 SSH 协议 2.0 实现,且包括 sftp 客户端和服务器支持。
OpenSSH 9.6 现已发布,此版本包含了许多安全修复并添加了一些小功能。其中包括一个针对所谓 Terrapin 攻击的修复。这种攻击允许 MITM 在加密开始前发送额外信息,并在加密开始后立即删除相同数量的连续信息,从而有限度地破坏早期加密 SSH 传输协议的完整性。对等 SSH 客户端/服务器将无法检测到信息已被删除。
公告称,虽然这一攻击手段在密码学上很新颖,但幸运的是,其对安全的影响非常有限。因为它只允许删除连续的信息,而在协议的这一阶段删除大多数信息会阻止用户验证继续进行,并导致连接卡死。
新功能
Bug 修复
- ssh(1) : 决定是否启用 keystroke timing obfuscation 时,只有当带有 TTY 的通道处于活动状态时才启用。
- ssh(1) : 将主循环从 poll(3) 切换为 ppoll(3),并在检查信号处理器中设置的标志之前屏蔽信号。这样可以避免在发出 ssh 退出信号和轮询之间出现潜在的 race condition。bz3531
- ssh(1) : 当连接到同时使用 AddressFamily 和 CanonicalizeHostname 指令的目标时,AddressFamily 指令可能会被忽略。bz5326
- sftp(1):当服务器返回意外信息时,正确处理了 limits@openssh.com 选项。
- 修复了 PuTTY 和 Dropbear 回归/集成测试中的一些问题。
- ssh(1) : 仅在认证结束时释放 GSS OID,避免了不必要的 init/cleanup cycles。bz2982
- ssh_config(5) : 在手册中提及"none"是 IdentityFile 的有效参数。BZ3080
- scp(1):改进了在旧 SCP/RCP 协议模式下,因不匹配客户端 glob(3) 模式而被拒绝的服务器路径的调试。
- ssh-agent(1) : 如果之前的会话绑定操作失败,则拒绝对目标受限的密钥进行签名操作。如果用户使用了不匹配的 ssh(1) 客户端和 ssh-agent(1),而客户端支持的密钥类型是代理所不支持的,那么这可能会避免将来出现打开失败的情况。
详情可查看更新公告。