Amazon ec2 列出目录时发生vsftpd错误
我使用fedora实例在amazon ec2上安装了vsftpd,它是最新版本,但我得到了错误: 在CuteFTP中:Amazon ec2 列出目录时发生vsftpd错误,amazon-ec2,ftp,ec2-ami,vsftpd,Amazon Ec2,Ftp,Ec2 Ami,Vsftpd,我使用fedora实例在amazon ec2上安装了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. 在F
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连接并向我显示目录列表。查看此线程:
错误:在amazon ec2上检索目录列表失败
,只需将传输模式更改为active即可修复
这篇文章解释了如何使用filezilla轻松完成:
如果可能,您希望使用被动模式。正如我在Bucho链接到的文章中所说的,您只需为PASV模式定义一个端口范围,并在EC2安全组中打开该范围就可以了。。。这通常只影响使用被动模式(非常常见)的GUI ftp客户端。例如,当使用标准ftp命令行工具时,我能够成功登录并将文件上载到我的ftp服务器 纠正错误的步骤包括:
pasv\u地址=
pasv_addr_resolve=否
-或-
b:
pasv\u地址=
pasv_addr_resolve=是
- 为标准ftp启用端口20-21
- 按照上面配置部分中的定义启用被动端口(我使用了64000-64321)
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
pasv\u启用=是
pasv_最小_端口=64000
pasv_最大_端口=64321
端口\启用=是
pasv_地址=
pasv_addr_resolve=否
多亏了龙达 这是我的工作
下面是/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
- 从0.0.0.0/0自定义TCP 21
- 从0.0.0.0/0自定义TCP 13000
- 从0.0.0.0/0自定义TCP 13100
Error: Connection timed out
Error: Failed to retrieve directory listing
解决这个问题,
- 打开Filezilla,进入编辑->设置
- 单击连接->FTP:选择活动
- 点击连接->FTP->活动模式:选择“询问您的操作 “外部IP地址的系统”
- 点击连接->FTP->被动模式:选择后退到 激活模式按OK
再次尝试连接到您的FTP站点。如果在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
我想你把pasv_max_port和pasv_min_port弄混了,MosheShaham现在修复了。谢谢即使我已经配置了被动端口范围并打开了这些端口,我也遇到了同样的问题。一时兴起,我试着将pasv_addr_resolve切换为YES,并输入主机名,而不是IP,现在被动连接又能工作了。奇怪。使用此配置,我甚至无法启动/重新启动守护程序-
pgrep vsftpd
不返回任何内容:(新url:
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