为什么 Atom 的远程 FTP 包会出现“无法解析 PASV 服务器响应”的错误?

为什么 Atom 的远程 FTP 包会出现“无法解析 PASV 服务器响应”的错误?

我对 FTP 还比较陌生。我的朋友和我正在尝试合作一个项目。他创建了一个 FTP 服务器,但是当我通过 Atom 编辑器的“远程 FTP”包连接时,出现了错误unable to parse PASV server response。经过进一步研究,这个错误似乎不是 Atom 特有的错误,而是由 FTP 协议定义的更广泛错误。我也无法通过 WinSCP 连接,在切换到 FileZilla 后,FTP 就可以正常工作了。为了方便起见,我宁愿使用 Atom 的 FTP 包。有人能解释一下这个错误的含义以及可以做些什么来修复它吗?

我在 WinSCP 中收到此错误:

检测到超时。(控制连接)无法检索目录列表列出目录‘/’时出错。

我朋友的服务器其实就是一个运行 Advanced Tomato 的路由器,USB 端口上插着一个外部存储设备,所有的文件都放在那里。

谢谢。

答案1

这表明 Atom FTP 客户端无法正确处理被动模式。可能有一个设置可以处理它,或者如果它有交互模式,您可能需要以SET PASV某种方式发送。

答案2

经过进一步的测试和研究,我发现问题出在我的网络。我使用网络共享作为我的主要网络连接(我的运营商是 T-Mobile,但据我所知,运营商与问题无关)。

据称,FTP 在蜂窝网络上存在漏洞我发现这个帖子

由于其架构,FTP 协议在使用 NAT 的环境中无法很好地工作。NAT 在移动网络中被广泛使用,所使用的辅助应用程序有时会出现错误,这也许可以解释您看到的差异。它在一个网络中失败而在另一个网络中成功可能还有其他原因,但由于没有关于网络的大量详细信息,所以一切都只是猜测。

我强烈建议放弃 FTP,改用 SFTP,即通过 SSH 进行文件传输。FileZilla 支持 SFTP,但您需要在服务器端设置 SSH 服务器。但不要将 SFTP 与 FTPS 混淆,后者是使用 TLS 的 FTP,在使用 NAT 的环境中会出现更多问题。

我连接了 SFTP,现在一切都正常了。希望这篇文章对大家有所帮助。

相关内容