OpenSSH 是 100% 完整的 SSH 协议 2.0 实现,且包括 sftp 客户端和服务器支持。
OpenSSH 9.6 现已发布,此版本包含了许多安全修复并添加了一些小功能。其中包括一个针对所谓 Terrapin 攻击的修复。这种攻击允许 MITM 在加密开始前发送额外信息,并在加密开始后立即删除相同数量的连续信息,从而有限度地破坏早期加密 SSH 传输协议的完整性。对等 SSH 客户端/服务器将无法检测到信息已被删除。
公告称,虽然这一攻击手段在密码学上很新颖,但幸运的是,其对安全的影响非常有限。因为它只允许删除连续的信息,而在协议的这一阶段删除大多数信息会阻止用户验证继续进行,并导致连接卡死。
新功能
- ssh(1):添加一个 %j token,扩展为已配置的 ProxyJump 主机名(如果未使用此选项,则为空字符串),可用于多个 ssh_config(5) 关键字。bz3610
- ssh(1) : 向客户端添加 ChannelTimeout 支持,在服务器中镜像相同的选项,并允许 ssh(1) 终止静态通道。
- ssh(1)、sshd(8)、ssh-add(1)、ssh-keygen(1):添加对读取 PEM PKCS8 格式的 ED25519 私钥的支持。以前只支持 OpenSSH 私钥格式。
- ssh(1)、sshd(8) : 引入协议扩展,以允许在服务器得知用于身份验证的用户名后,重新协商公钥身份验证的可接受签名算法。这允许在"Match user"块中更改 sshd_config(5) PubkeyAcceptedAlgorithms。
- ssh-add(1)、ssh-agent(1) : 添加代理协议扩展,以允许在加载 PKCS#11 密钥时指定证书。这允许在所有支持 ssh-agent(1) 的 OpenSSH 工具中使用由 PKCS#11 私钥支持的证书。以前只有 ssh(1) 支持这一用例。
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),而客户端支持的密钥类型是代理所不支持的,那么这可能会避免将来出现打开失败的情况。
为您推荐与 openssh 相关的帖子:
暂无回复。