为啥我在尝试通过 Matlab ftp 访问 Box 时收到“连接被拒绝”?

Posted

技术标签:

【中文标题】为啥我在尝试通过 Matlab ftp 访问 Box 时收到“连接被拒绝”?【英文标题】:Why am I getting "connection-refused" when trying to access a TLS enabled FTP server [Box.com] via the Matlab ftp?为什么我在尝试通过 Matlab ftp 访问 Box 时收到“连接被拒绝”? 【发布时间】:2022-01-22 09:58:30 【问题描述】:

我正在尝试使用 MATLAB ftp 功能来访问我的 Box 帐户中的文件。我通常通过 Box 网络平台或 FileZilla 手动处理我的 box 文件,两者都没有问题。但是,我现在正在尝试使用 Matlab 自动化这个过程,并且似乎已经遇到了第一个障碍。

按照 MATLAB ftp 文档 (link) 我尝试为我的 Box 地址设置 ftp 对象失败:(注意,我通过该文档中的示例没有问题)

>>ftpobj = ftp("ftp.box.com",myUname, myPassword);

Error using matlab.io.ftp.FTP (line 175)
Connection refused for "ftp://ftp.box.com".

Error in ftp (line 63)
h = matlab.io.ftp.FTP(host, varargin:);

Error in NotForGithub (line 8)
ftpobj = ftp("ftp.box.com",myUname, myPassword);

经过一番搜索,我发现 r2021b 在某个时候出现了 FTP 错误 (link),但尝试他们的示例后,我发现这不是我的问题:

>> ftpobj = ftp("ftp.ngdc.noaa.gov")

FTP with properties:
Host: "ftp.ngdc.noaa.gov"
Username: "anonymous"
Port: 21
ServerLocale: "en_US"
DirParserFcn: @matlab.io.ftp.parseDirListingForUnix
Mode: "binary"
LocalDataConnectionMethod: "passive"
RemoteWorkingDirectory: "/"

我还是更新了 Matlab,但问题仍然存在。受上述启发,我尝试在不提供详细信息的情况下访问 Box(以防特别出现问题),但仍然遇到以下问题:

>> ftpobj = ftp("ftp.box.com")

Error using matlab.io.ftp.FTP (line 175)
Connection refused for "ftp://ftp.box.com".

Error in ftp (line 63)
h = matlab.io.ftp.FTP(host, varargin:);

我还看到人们谈论“用于 Matlab (v2) 的 SSH/SFTP/SCP”(link),但我完全不清楚如何将其应用到我现在尝试这样做,所以如果这是解决方案并且您对我如何使用它有任何提示 - 请告诉我!谢谢

(我也在 MATLAB 社区论坛上发布了此内容,并将在此处粘贴我得到的任何答案 (link))

编辑:这是我通过 FileZilla 连接时的输出:

Status: Resolving address of ftp.box.com
Status: Connecting to 107.152.26.220:21...
Status: Connection established, waiting for welcome message...
Status: Initializing TLS...
Status: Verifying certificate...
Status: TLS connection established.
Status: Logged in
Status: Retrieving directory listing...
Status: Directory listing of "/" successful

【问题讨论】:

请发布任何命令行/GUI FTP 客户端的详细日志文件,该客户端可以从运行您的 Matlab 代码的同一台机器成功连接到ftp.box.com @MartinPrikryl 现在补充说 提到 TLS 的 FileZilla 状态消息暗示它正在安全地连接,而不仅仅是通过普通的 FTP。您是否尝试过使用 MATLAB sftp 而不是 ftp? @nekomatic SFTP 不是基于 TLS 的 FTP。虽然 FileZilla 确实使用了 TLS,但它仍然连接到端口 21。因此,如果 Matlab 甚至无法连接到端口,则 TLS 本身的缺失应该不是问题(当然,除非 Matbal “连接被拒绝” 错误信息具有误导性)。虽然很奇怪 FileZilla 可以连接,而 Matlab 不能(假设 OP 真的在同一台机器上运行,正如我所要求的那样)。我能想到的唯一解释是特定于应用程序的防火墙规则,但这并不常见。 @wwweagle 正如我在上面评论的那样——虽然这绝对是正确的做法,但不太可能解决 “连接被拒绝” 问题。 【参考方案1】:
ftpobj = ftp("ftp.box.com",myUname, myPassword,'TLSMode','strict');

似乎已修复它:-)。

但请查看问题后面的 cmets 以了解其他类似问题。

【讨论】:

以上是关于为啥我在尝试通过 Matlab ftp 访问 Box 时收到“连接被拒绝”?的主要内容,如果未能解决你的问题,请参考以下文章

PhpStorm 9:为啥通过 FTP 连接时远程路径的目录/文件不显示

linux 建立ftp服务器为啥用wget不能下载文件

为啥我在尝试访问此 WordPress 网站时收到此 403 Forbidden 错误?为啥它无法读取 .htaccess 文件?

为啥我在尝试访问 spark master webUI 时会重置连接?

我用Serv-u搭建的FTP服务器为啥输入用户名和密码访问不了??

为啥我在 opticFlow =opticalFlowHS 处出现错误; matlab2015a