SSH 使用 UDP 来做什么? 2024-6-15 • ssh tcp udp 在进行研究时,我注意到 SSH 同时使用 TCP 和 UDP。我完全理解 TCP 的用途,但 UDP 似乎有点奇怪。为什么我要使用“不可靠”的传输协议和最少的握手来实现安全的 shell 访问? 我能想到的唯一用途是 SCP,因此(大)文件传输。但是,由于有握手机制,TCP 不是更有用吗? 事实上,我正在考虑仅为 SSH 打开 TCP,但不知道这样做会产生什么后果。 编辑 事实证明,不仅有一篇关于 UDP 上的 ssh 的论文,而且还有一个成熟的 ssh 实现,称为莫什。然而,经典的 ssh 仍然只使用 TCP,正如其RFC 文档。 答案1 我尝试了从 Windows 到 Unix 以及从 Unix 到 Unix 的多个 SSH 连接,但在端口 22 上没有收到任何 UDP 数据包。而且服务器只监听 TCP。 在此论文他们尝试实现 UDP 进行 SSH 传输,但他们也提到默认只使用 TCP:“。OpenSSH 始终在其所有网络连接中使用 TCP,因此也在其 VPN 功能中使用 TCP。”维基百科页面可能会说它是 UDP,因为 SSH 开发人员最初请求分配 UDP 和 TCP,但相关 RFC没有提及它。 答案2 ... SSH 协议使用或曾经使用 22/UDP 通过 TCP 进行隧道控制。如果通过 Wireshark 正确解码,并且您正在通过 ssh-agent 或远程或本地隧道建立连接,您会注意到 UDP 封装在 TCP 段中。 相关内容 更改 Ubuntu 顶栏图标 为什么 update-ca-certificates 会删除我所有的 CA 证书? 如果类中未指定任何语言,是否可以使用默认语言加载 babel? 错误日志:“服务器配置拒绝客户端”但一切正常 Gnome、夜灯和双显示器 使用连字符作为 Unicode 一个好的基于 Linux 的远程 IP 和应用程序监控工具?[关闭] 在整个文件系统中查找包含字符串的文件 我不熟悉术语,但我需要帮助操作系统损坏 在双列文档中表格溢出列宽(svjour3)