我在亚马逊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'并显示目录列表。
答案 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规则:
4)重启你的vsftpd服务(因你的linux风格而异)
注意:pasv端口范围应该在防火墙外面可见,NAT
参考更多信息:
答案 1 :(得分:16)
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
在安全组
中打开以下端口从FileZilla FTP客户端连接时,您可能会收到以下错误;
Error: Connection timed out
Error: Failed to retrieve directory listing
要解决此问题;
尝试再次连接到您的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