Filezilla FTP服务器无法检索目录列表


77

我正在运行Filezilla Server 0.9.45 Beta,以远程管理服务器。设置好之后,我测试了使用IP连接到它的情况127.0.0.1,并成功运行了。但是,要远程连接到服务器,我将端口转发到端口21,并尝试使用计算机的IP进行连接。

Status: Connecting to [My IP]:21...
Status: Connection established, waiting for welcome message...
Response:   220 Powered By FileZilla Server version 0.9.45 beta
Command:    USER hussain khalil
Response:   331 Password required for user
Command:    PASS *********
Response:   230 Logged on
Status: Connected
Status: Retrieving directory listing...
Command:    CWD /
Response:   250 CWD successful. "/" is current directory.
Command:    PWD
Response:   257 "/" is current directory.
Command:    TYPE I
Response:   200 Type set to I
Command:    PORT 192,168,0,13,205,63
Response:   200 Port command successful
Command:    MLSD
Response:   150 Opening data channel for directory listing of "/"
Response:   425 Can't open data connection for transfer of "/"
Error:  Failed to retrieve directory listing

它在本地继续起作用,但在远程连接时却不起作用。如何解决此问题?


干草全部,在prestashop中怎么样?我用sftp.pswebstore.com尝试了Cary的答案,但状态显示连接尝试失败,并显示“ ECONNREFUSED-服务器拒绝连接”
f_anto

Answers:


29

将port命令发送到服务器时,您是在要求服务器与您连接(在远程网络上)。如果远程网络也具有NAT路由器,并且您没有使用PORT命令将要发送的端口进行端口转发,则服务器将无法访问您。

最常见的解决方案是将PASV命令而不是PORT命令发送到服务器。PASV命令将要求服务器创建侦听套接字,并接受来自远程计算机的连接以建立数据连接。

为了使PASV命令起作用,您还需要为无源数据连接端口转发一系列端口。无源连接端口(需要转发)应在FileZilla文档中列出。


我在“被动模式设置”(端口50000至50100)中设置了自定义端口范围,并将这些端口转发给端口。我还将传输类型设置为被动而不是主动。没有结果。
侯赛因·哈利勒

我正在通过局域网进行测试。外部连接正常。
侯赛因·哈利勒

130

我只是在站点管理器中将加密从“使用TLS上的使用显式FTP(如果有)”更改为“仅使用普通FTP”(不安全),并且可以使用!


31
如果您想要安全性,这是一个坏主意。
DarrellNorton

@DarrellNorton那么,确保安全以及检索目录列表的方法是什么?
赞2015年

@Faizan,您必须使用FTPS。这个答案说禁用安全性。Vaggelis明确指出这是不安全的。PASV命令失败的最可能原因是FTP服务器正在发送响应,但是防火墙不允许这些端口上的出站通信。请参阅已接受回复中的San Bergam的答案。
DarrellNorton

3
@Faizan,详细的技术说明在这里:wiki.filezilla-project.org/Network_Configuration-在我了解主动和被动,显式和隐式FTPS之间的区别之前,我必须仔细研究一下。我的问题最终是防火墙阻止了隐式FTPS端口范围,该范围设置为50,000-55,000。一旦网络管理员明确允许这些端口上的出站,它就可以正常工作。
DarrellNorton

请注意,这确实会禁用您的安全性,可以,但是迟早会造成问题!
卡里·邦多克

52

文件>站点管理器>选择站点>传输设置>活动

为我工作。


6
或者您也可以尝试以下一种方法:编辑>设置> 连接> FTP >查看传输模式 (将被动模式更改为主动模式
Anthony Kal

天哪!在读取了相同的加密类型和防火墙的废话10000次后,这个工作了!
爱德华·安鲁

28

这里的大多数答案都涉及配置,实际上只需添加sftp://您的主机(见下图),您就可以立即解决这种问题,这对我有用。

在此处输入图片说明

另外请注意,如果遵循Vaggelis指南,则降低安全性sftp要比使用plain更好ftp

我只是在站点管理器中将加密从“使用TLS上的使用显式FTP(如果有)”更改为“仅使用普通FTP”(不安全),并且可以使用!


它不能在prestashop中工作。我已经尝试过sftp.pswebstore.com,但状态显示连接尝试失败,并显示“ ECONNREFUSED-服务器拒绝连接”。
f_anto

1
这实际上是最好的答案!
Alvaro

11

好的,这很有帮助,我找不到解决方法。

简而言之,我已经将端口转发到了服务器的FTP端口。(默认值为14147,我将以此为例)

转到“编辑”>“常规设置”,“侦听端口”应为您使用的端口,在这种情况下为14147。

然后转到“被动模式设置”,我选中“使用自定义端口”,并输入范围50000-50100。

然后在路由器上,将端口50000-50100转发到本地服务器IP。

我默认保留的IPv4特定设置,重新连接了我的客户端,然后bam出现了文件列表。

确保服务器防火墙的入站规则设置为接受14147和50000-50100。

基本上是埃文所说的。我无法证明打开这些端口的安全性,但这最终使Filezilla客户端和服务器能够通信和查看文件。希望这对某人有帮助。


“确保您的服务器防火墙的入站规则设置为接受14147和50000-50100”->此注释可节省我的时间
Rocky Andra

我刚刚在工作中安装了FileZille Server,并且可以使用FileZille Cliet浏览我的文件夹。问题是当我尝试使用nicolab的库通过PHP连接时。我不断收到“无法连接”异常。有任何想法吗?我知道这可能与我们公司的防火墙有关。提前致谢。
scruffycoder86 '16

1
那就是键“确保服务器防火墙的入站规则设置为接受14147和50000-50100”。谢谢队友,赞成!
希丁

9

我的经验是Filezilla的新版本有此问题,但旧版本没有。我正在使用Filezilla,一切正常。升级到3.10版后,我遇到了这个问题,但无法解决。我卸载了3.10版,然后重新安装了3.8版,问题消失了!现在我正在使用3.8版,一切正常。即使我必须使用旧版本,我也不愿意面对任何问题。;)

尝试安装旧版本,不要升级,但听起来可能很奇怪。


我刚刚从这里下载了3.8版本,其中包含加密:“普通Ftp”和传输设置:“被动”
shaijut

我有一个奇怪的情况,我可以使用TLS使用FileZilla客户端(3.22)访问各种站点,但是我只能使用普通FTP访问一个站点。在过去的几个月中(自从我上次访问此网站以来),这种情况发生了,因为它过去可以与TLS配合使用。
马克·威尔逊

6

我通过进入站点管理器->选择了连接Failed to retrieve directory listing->切换到“传输设置”标签,并将“传输模式”设置为“活动”而不是“默认”来解决了这一问题。另外,请检查您是否通过VPN或类似网络连接,这也会造成干扰。


1
如果您投了反对票,请说为什么,因为这对我有用。
奥格拉斯'15

3年后,这就是我的解决方案
techguy1029 19-10-29

3

我遇到了同样的问题-对我有用的-在Windows操作系统中-将FileZilla添加为防火墙例外-在允许程序通过防火墙功能的情况下


2

我安装了Filezilla 3.6,并且遇到了与OP相同的问题。我已经升级到3.10.3,认为可以解决该问题。不,还是一样。

然后,我对选项进行了一些挖掘,对我有用的是:

编辑->设置-> FTP->被动模式,然后从“降回主动模式”切换为“改用服务器的外部IP地址”


2

我遇到了同样的问题,这是由于防火墙造成的。我使用Windows Server,

您可以允许程序的连接权限,端口21,22的接口权限。

Windows Firewall with Advanced Security->
Inbound Rules->
Add Rule->
Program->
"Select Filezilla path with Browse button"->
Allow the Connection

这工作。我在此之前创建的是港口规则,而不是计划规则
Arman Bimatov


1

我的笔记本通过WLAN和DSL /路由器连接时,我遇到了FZ客户端相同的问题。在站点管理器连接设置中,我被应用了Host:ftp.domain-name,Encryption:仅使用普通FTP(不安全)和User:username @ domain-name。然后,FTP客户端成功连接到我的网站服务器。在Web服务器的CPanel中可以找到更多的FTP连接信息。希望这可以帮助。


0

升级到3.10后,我也遇到了问题。我安装了versoin 3.6.02,并安装了它。问题解决了。


0

我的服务器托管在云中时遇到了问题。我一年只需要几次服务器,因此启动服务器时,IP地址会更改。然后必须在FTP服务器被动模式设置中更新新的IP地址!

Filezilla的最新版本工作正常!



0

检查路由器上的IP地址是否与ftp服务器上的IP地址相同。如果不是,请确保它是相同的。这应该工作完美。


0

就我而言,重新启动用于连接互联网的路由器是可行的。我认为太多的连接来自同一IP地址,并且当我重新启动路由器时,可能分配了新IP,现在一切正常,被动模式在目录列表中提供了良好的速度。



-1

现在在FileZilla中,创建一个新帐户1.主机是FTP地址-例如ftp.somewhere.com 2.协议是“ SFTP-SSH文件传输协议” 3.用户ID是您的Bluehost用户ID 4.密码是您的Bluehost密码5.单击“连接”与目录列表建立连接!

这为我解决了3.10的问题。我很高兴能够为以后的所有文件传输提供安全访问。它应防止将来出现安全问题。


-1

它为我工作:

常规->加密->仅使用普通FTP

传输设置->传输模式->有效

考虑到它是非常不安全的,必须仅用于测试。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.