所以我在我的Ubuntu 10.10服务器上安装了ProFTP。 使用FileZilla,我可以连接和身份validation,但我不能得到目录列表。 以下是返回给我的最后几行:
Status: Connected Status: Retrieving directory listing... Command: PWD Response: 257 "/home/todolist" is the current directory Command: TYPE I Response: 200 Type set to I Command: PASV Error: Disconnected from server: ECONNABORTED - Connection aborted Error: Failed to retrieve directory listing
我没有改变任何configuration,所以我应该改变/设置,以便我可以正确使用FTP?
我的configuration:
# # /etc/proftpd/proftpd.conf -- This is a basic ProFTPD configuration file. # To really apply changes reload proftpd after modifications. # # Includes DSO modules Include /etc/proftpd/modules.conf # Set off to disable IPv6 support which is annoying on IPv4 only boxes. UseIPv6 on # If set on you can experience a longer connection delay in many cases. IdentLookups off ServerName "Chigstuff FTP" ServerType standalone DeferWelcome off MultilineRFC2228 on DefaultServer on ShowSymlinks on TimeoutNoTransfer 600 TimeoutStalled 600 TimeoutIdle 1200 DisplayLogin welcome.msg DisplayChdir .message true ListOptions "-l" DenyFilter \*.*/ # Use this to jail all users in their homes # DefaultRoot ~ # Users require a valid shell listed in /etc/shells to login. # Use this directive to release that constrain. # RequireValidShell off # Port 21 is the standard FTP port. Port 21 # In some cases you have to specify passive ports range to by-pass # firewall limitations. Ephemeral ports can be used for that, but # feel free to use a more narrow range. # PassivePorts 49152 65534 # If your host was NATted, this option is useful in order to # allow passive tranfers to work. You have to use your public # address and opening the passive ports used on your firewall as well. # MasqueradeAddress 1.2.3.4 # This is useful for masquerading address with dynamic IPs: # refresh any configured MasqueradeAddress directives every 8 hours <IfModule mod_dynmasq.c> # DynMasqRefresh 28800 </IfModule> # To prevent DoS attacks, set the maximum number of child processes # to 30. If you need to allow more than 30 concurrent connections # at once, simply increase this value. Note that this ONLY works # in standalone mode, in inetd mode you should use an inetd server # that allows you to limit maximum number of processes per service # (such as xinetd) MaxInstances 30 # Set the user and group that the server normally runs at. User proftpd Group nogroup # Umask 022 is a good standard umask to prevent new files and dirs # (second parm) from being group and world writable. Umask 022 022 # Normally, we want files to be overwriteable. AllowOverwrite on # Uncomment this if you are using NIS or LDAP via NSS to retrieve passwords: # PersistentPasswd off # This is required to use both PAM-based authentication and local passwords # AuthOrder mod_auth_pam.c* mod_auth_unix.c # Be warned: use of this directive impacts CPU average load! # Uncomment this if you like to see progress and transfer rate with ftpwho # in downloads. That is not needed for uploads rates. # # UseSendFile off TransferLog /var/log/proftpd/xferlog SystemLog /var/log/proftpd/proftpd.log <IfModule mod_quotatab.c> QuotaEngine off </IfModule> <IfModule mod_ratio.c> Ratios off </IfModule> # Delay engine reduces impact of the so-called Timing Attack described in # http://security.lss.hr/index.php?page=details&ID=LSS-2004-10-02 # It is on by default. <IfModule mod_delay.c> DelayEngine on </IfModule> <IfModule mod_ctrls.c> ControlsEngine off ControlsMaxClients 2 ControlsLog /var/log/proftpd/controls.log ControlsInterval 5 ControlsSocket /var/run/proftpd/proftpd.sock </IfModule> <IfModule mod_ctrls_admin.c> AdminControlsEngine off </IfModule> # # Alternative authentication frameworks # #Include /etc/proftpd/ldap.conf #Include /etc/proftpd/sql.conf # # This is used for FTPS connections # #Include /etc/proftpd/tls.conf # A basic anonymous configuration, no upload directories. # <Anonymous ~ftp> # User ftp # Group nogroup # # We want clients to be able to login with "anonymous" as well as "ftp" # UserAlias anonymous ftp # # Cosmetic changes, all files belongs to ftp user # DirFakeUser on ftp # DirFakeGroup on ftp # # RequireValidShell off # # # Limit the maximum number of anonymous logins # MaxClients 10 # # # We want 'welcome.msg' displayed at login, and '.message' displayed # # in each newly chdired directory. # DisplayLogin welcome.msg # DisplayChdir .message # # # Limit WRITE everywhere in the anonymous chroot # <Directory *> # <Limit WRITE> # DenyAll # </Limit> # </Directory> # # # Uncomment this if you're brave. # # <Directory incoming> # # # Umask 022 is a good standard umask to prevent new files and dirs # # # (second parm) from being group and world writable. # # Umask 022 022 # # <Limit READ WRITE> # # DenyAll # # </Limit> # # <Limit STOR> # # AllowAll # # </Limit> # # </Directory> # # </Anonymous>
了解主动与被动FTP: 链接 。
您可能忘记打开/转发防火墙上的被动端口,或者您没有在您的configuration中启用它们。
在您的configuration中取消注释此行:
# PassivePorts 49152 65534
进行中:
PassivePorts 49152 65534
然后在防火墙中打开这些端口: 21和范围49152-65534 。
确保您在此之后重新启动ProFTP服务。
当通过Windows FileZilla和linux konqueror通过ftp.myserver.com连接到我的服务器时,出现以下错误:
Error: Disconnected from server: ECONNABORTED - Connection aborted Error: Failed to retrieve directory listing
这是我所做的,导致了这个问题
我发现我的NETGEAR无线中继器是怪罪。 它被其他人重置为出厂默认设置,从而打破了以前让Filezilla和ftp做的事情的特殊设置。 Netgear无线中继器被用作多台计算机的路由器,并阻止了Filezilla使用的一些命令,但不是全部。 这种现象造成了奇怪的行为,我的连接将部分工作几分钟,然后会崩溃,并提供上述错误。
总结 Netgear路由器是蹩脚的,一个关机可以意外地导致他们重置他们到最高的安全级别。
解决scheme通过使用互联网的备用连接(备用路由),在mc-donalds或朋友家或邻居的wifi上使用连接,来诊断隔离哪个中继器/路由器可能被设置为太高的安全级别。 (我在我的android手机上使用tethering)。 当我这样做,我的连接到我的服务器工作正常,我可以回溯和使用淘汰找出哪个设备是问题。 解决的办法是进入我的networking无线中继器,并将限制设置更安全的水平,一切工作。
其他可能的原因可能会发生
另外,我在我的Windows机器上运行“ZoneAlarm”软件,这是拒绝filezilla。 如果您有任何第三方安全软件,您可能需要暂时closures它,以查看是否阻止了您。
由于硬件故障或无线干扰,您的路由器可能会遭受零星的错误。 当无线路由器变老时,有时会随机丢弃连接,login到192.168.1.1检查出来。
FTP需要打开443端口。 尝试启用防火墙上的端口443到服务器。 login到192.168.1.1,你的路由器,并查看“端口范围转发”TCP和UDP为您的IP地址。 看看是否有帮助。