Linux 上的 FTP 出现“421 服务不可用,远程服务器已关闭连接”

Linux 上的 FTP 出现“421 服务不可用,远程服务器已关闭连接”

我尝试从我的 Ubuntu 机器通过 FTP 连接到我的托管账户,但在我收到登录提示之前,出现了以下错误:

$ ftp tora.us.fm
Connected to tora.us.fm.
421 Service not available, remote server has closed connection
ftp> quit

我问他们 FTP 是否有问题,但他们从 Windows 机器上检查并向我展示他们可以正常连接。

我可以使用 ping 连接到同一台主机,因此这可能不是网络问题:

$ ping tora.us.fm
PING tora.us.fm (64.79.220.195) 56(84) bytes of data.
64 bytes from tora.us.fm (64.79.220.195): icmp_seq=1 ttl=47 time=169 ms
64 bytes from tora.us.fm (64.79.220.195): icmp_seq=2 ttl=47 time=169 ms
64 bytes from tora.us.fm (64.79.220.195): icmp_seq=3 ttl=47 time=171 ms
^C

从 Linux 连接 FTP 可能有问题吗?

答案1

首先,ping 并不是真正的连接。你可以把它想象成网络世界的雷达。仅仅因为某个东西对它作出了响应,并不意味着你实际上能够进入那个东西。

谈谈手头的问题。我收到了来自该主机的登录提示,该主机既有 Windows(Win7)机器,也有 Linux 系统(Gentoo)。这表明 FTP 服务器软件正在接受连接。FTP 过程的下一步应该是身份验证。显然,我没有可以登录的帐户,您的 FTP 客户端是否会自动登录到主机?它是使用主机提供的凭据还是尝试匿名登录?

您是否尝试过其他 FTP 软件?大多数浏览器无法接受 ftp 连接(可能仅接受匿名连接,但仍然值得一试)。我相信大多数 X.org 系统的文件管理器可以处理 ftp 协议连接,这可能是另一种选择。

根据您的评论,我可以看到 3 种可能的情况。首先,远程服务器阻止了您的 IP 地址。通常,当 IP 被阻止时,它是在防火墙上进行的,而不是在特定的服务器软件上进行的。如果您可以访问服务器的 Web 部分,那么它很可能没有阻止您的 IP。

另一种可能性是二合一类型的交易,这两种情况都不太可能发生,但仍然有可能。您被阻止建立出站 FTP 连接,无论是从您的 ISP 还是在发行版的防火墙内。关于发行版上的防火墙,除非您对其进行了更改,或者正在使用 SE-Linux(不能 100% 确定这一事实),否则 FTP 出站流量可能已被阻止。出站 FTP 被阻止的另一个可能原因是由于某些奇怪的原因来自您的 ISP。测试这两种情况的最佳方法是尝试通过 FTP 连接到任何人都可以连接的公共 FTP 服务器(例如 ftp.mozilla.org)。如果出现相同的错误,则这两个选项之一可用。在这种情况下能做的事情不多(尽管可能有解决方法,请参见下文)。

最后一种可能的解决方法,如果您被服务器防火墙阻止,则可能不起作用,但如果仅阻止了 FTP 流量,则可能会起作用。尝试 SFTP(如果该选项可用)。它是通过 SSH 协议加密的 FTP 连接。大多数 SSH 和图形 FTP 软件都可以执行 SFTP 连接。SFTP 在服务器端不起作用的唯一原因是服务器防火墙阻止了端口 22(默认 SSH 端口)上的连接或 SSH 从一开始就未启用。如果您以某种方式被 ISP 或本地防火墙阻止,SFTP 通常可以绕过它们,因为 SSH 是一种太流行的连接类型,通常不会阻止出站。

答案2

我遇到了同样的问题。我尝试了 SFTP,它运行良好。然后我意识到我的服务器不允许 FTP 连接。

相关内容