vsftpd错误列表目录

时间:2011-01-18 10:33:26

标签: amazon-ec2 ftp ec2-ami vsftpd

我在亚马逊ec2上使用fedora实例安装了vsftpd,它是最新版本,但我收到错误: 在CuteFTP中:

COMMAND:> PASV 227 Entering Passive Mode (192,168,10,46,14,20)
COMMAND:> LIST
ERROR:> Can’t connect to remote server. Socket error = #10065.
ERROR:> PASV failed, trying PORT.

在Filezilla中:

Command: PASV Response: 227 Entering Passive Mode (192,168,10,46,14,20)
Command: LIST Error: Connection timed out
Error: Failed to retrieve directory listing.

尝试连接'Shell'并显示目录列表。

7 个答案:

答案 0 :(得分:61)

刚才有同样的问题......这通常只会影响使用被动模式的GUI ftp客户端(这很常见)。例如,当使用标准的ftp命令行工具时,我能够成功登录并将文件上传到我的ftp服务器。

要纠正的步骤是:

1)将以下设置添加到/etc/vsftpd.conf文件中:

pasv_enable=YES
pasv_min_port=64000
pasv_max_port=64321
port_enable=YES

2)还要根据您的情况将以下配置块之一添加到/etc/vsftpd.conf文件中(无论哪种方式,都需要解析为公共可访问的IP):

一个:

pasv_address=<your-static-ip-most-likely-from-elastic-ips>
pasv_addr_resolve=NO

<强> -OR -

B:

pasv_address=<your-publicly-resolvable-host-name>
pasv_addr_resolve=YES

3)在ec2实例的安全组配置中,添加以下自定义入站tcp规则:

  • 为标准ftp启用端口20-21
  • 启用上面配置部分(我使用64000-64321)
  • 中定义的被动端口

4)重启你的vsftpd服务(因你的linux风格而异)

注意:pasv端口范围应该在防火墙外面可见,NAT

参考更多信息:

答案 1 :(得分:16)

只需将传输模式更改为活动即可修复亚马逊ec2上的

error: failed to retrieve directory listing

这篇文章解释了如何使用filezilla轻松完成它:

https://nabtron.com/error-while-connecting-to-amazon-ec2-via-ftp-solution/

答案 2 :(得分:2)

答案 3 :(得分:2)

对于我的版本vsftpd-3.0.2-1.el5.x86_64.rpm帮助了以下设置:

pasv_enable=YES
pasv_min_port=64000
pasv_max_port=64321
port_enable=YES
pasv_address=<your-static-ip-most-likely-from-elastic-ips>
pasv_addr_resolve=NO

感谢longda!

答案 4 :(得分:1)

这项工作适合我;

以下是/etc/vsftpd.conf

中的配置
listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
chroot_local_user=YES
allow_writeable_chroot=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
pam_service_name=ftp
pasv_enable=YES
pasv_min_port=13000
pasv_max_port=13100
port_enable=YES
pasv_address=AWS-IP-Address
pasv_addr_resolve=no

保存并重新启动服务

$ sudo service vsftpd restart

在安全组

中打开以下端口
  • 来自0.0.0.0/0的自定义TCP 20
  • 自定义TCP 21自0.0.0.0/0
  • 自定义TCP 13000起0.0.0.0/0
  • 自定义TCP 13100起0.0.0.0/0

从FileZilla FTP客户端连接时,您可能会收到以下错误;

Error:  Connection timed out
Error:  Failed to retrieve directory listing

要解决此问题;

  • 打开Filezilla,转到编辑 - &gt;设置
  • 点击连接 - &gt; FTP:选择活动
  • 点击连接 - &gt; FTP - &gt;活动模式:选择“询问您的操作 外部IP地址系统“
  • 点击连接 - &gt; FTP - &gt;被动模式:选择“回归到” 活动模式按OK。

尝试再次连接到您的FTP站点。

答案 5 :(得分:0)

如果可能,您希望使用被动模式。正如我在Bucho链接的文章中所说,你只需要为PASV模式定义一个端口范围并在EC2安全组中打开该范围

答案 6 :(得分:0)

如果在vsftpd.conf中进行如下配置:

pasv_enable=YES
pasv_min_port=64000
pasv_max_port=64321

尝试打开防火墙:

# yum install -y epel-release
# yum install -y ufw
# sudo ufw allow from any to any proto tcp port 64000:64321

sudo iptables -A INPUT -p tcp –dport 64000:64321 -j ACCEPT