ftp - 为什么 SFTP 没有像 FTP 这样的主动/被动模式

标签 ftp sftp

据我了解,FTP 中的主动和被动模式会更改命令和数据从客户端发送到服务器的端口,这在涉及防火墙的情况下很有用。我认为我说 SFTP 没有相同的概念也是正确的 - 但我不清楚 SFTP 协议(protocol)的哪些细微差别使得模仿 FTP 中存在的相同模式变得不必要/不可取。

最佳答案

FTP协议(protocol)中需要区分主动/被动模式,因为在FTP中,有一个单独的传输 channel /连接用于文件传输。在不同的网络设置中,可能需要不同的模式(尽管现在主要使用被动模式)。

在涉及防火墙的情况下它没有用,在涉及防火墙的情况下这是一个问题。这种在单独端口上单独连接的概念可能不是一个好主意,因为我认为这种模型不会在任何其他类似协议(protocol)中再次重复。维基百科 FTP 文章 mentions FTP 是这样设计的,因为它最初并不打算在 TCP/IP 上运行。

在 SFTP 中,没有这样的东西。一切都发生在一个连接中。因此,“涉及防火墙的地方”没有问题。

关于ftp - 为什么 SFTP 没有像 FTP 这样的主动/被动模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50756159/

相关文章:

c# - FTPWebRequest - 如何在没有 ftp 的情况下连接 ://in host address?

PHP/FTP ftp_put() 抛出奇怪的错误信息——怎么办?

java - 如何通过 FTP 下载文本文件并将内容读取为字符串

java - 使用 FTPClient 从 "some"服务器下载的图像已损坏

perl - Net::SFTP 的替代方案

linux - sftp 文件年龄 : reading files transferred from sftp that aren't complete yet

ssh - WinSCP .NET 库 : Connect to SFTP server without specifying SSH host key fingerprint

linux - sftp chroot 目录上的公钥授权

windows - 如何使用硬编码密码修复 PowerShell 中 WinSCP SFTP 脚本中的安全性

r - 使用 R 和 RCurl 连接到 SFTP 的问题