我尝试从我的 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 连接。