发布 OpenSSH 9.0,将 scp 传输到 SFTP 协议

OpenSSH 9.0 已发布,它是使用 SSH 2.0 和 SFTP 协议工作的客户端和服务器的开放实现。 在新版本中,scp 实用程序已默认切换为使用 SFTP,而不是过时的 SCP/RCP 协议。

SFTP 使用更可预测的名称处理方法,并且不对另一主机端的文件名中的 glob 模式使用 shell 处理,这会产生安全问题。 特别是,当使用 SCP 和 RCP 时,服务器决定将哪些文件和目录发送给客户端,客户端仅检查返回的对象名称的正确性,这在客户端没有进行适当检查的情况下,允许服务器传输与请求的文件名不同的其他文件名。

Протокол SFTP лишён указанных проблем, но не поддерживает раскрытие спецпутей, таких как «~/». Для устранения данного различия начиная с OpenSSH 8.7 в реализации SFTP-сервера поддерживается расширение протокола «[电子邮件保护]" 展开 ~/ 和 ~user/ 路径。

使用 SFTP 时,用户还可能会遇到不兼容问题,因为需要对 SCP 和 RCP 请求中的特殊路径扩展字符进行双重转义,以防止远程端对其进行解释。 在 SFTP 中,不需要此类转义,额外的引号可能会导致数据传输错误。 同时,在这种情况下,OpenSSH 开发人员拒绝添加扩展来复制 scp 的行为,因此双重转义被认为是一个没有意义重复的缺陷。

新版本中的其他变化:

  • ssh 和 sshd 默认启用混合密钥交换算法“[电子邮件保护]“(ECDH/x25519 + NTRU Prime),抗量子计算机上的挑衅,并与 ECDH/x25519 结合,阻止 NTRU Prime 未来可能出现的问题。 在决定密钥交换方法选择顺序的 KexAlgorithms 列表中,所提到的算法现在位于第一位,并且具有比 ECDH 和 DH 算法更高的优先级。

    量子计算机尚未达到破解传统密钥的水平,但混合安全的使用将保护用户免受与存储截获的 SSH 会话相关的攻击,希望将来当必要的量子计算机可用时,它们可以被解密。

  • sftp-server 中添加了“copy-data”扩展,如果源文件和目标文件位于同一服务器上,则允许您在服务器端复制数据,而无需将其传输到客户端。
  • sftp 实用程序中添加了“cp”命令,用于启动客户端在服务器端复制文件。

来源: opennet.ru

添加评论