AWS EC2 FTP 无法检索目录列表

AWS EC2 FTP 无法检索目录列表

我知道这个问题已经被问遍了(1234) 但我肯定是漏掉了什么,导致它无法正常工作。FTP 登录成功,但在目录列表中失败,这表明这是某种防火墙问题。该服务器是使用 Laravel Forge 创建的 EC2 实例 Ubuntu 16.04。

我已在正在使用的安全组上添加了被动端口范围,并且所有配置都根据答案进行设置,但我仍然收到目录列表错误。如果您能告诉我我可能做错了什么或需要做什么来修复它,我将不胜感激。

目录列表错误

这是我的 vsftpd 配置:

listen=YES
listen_ipv6=NO
anonymous_enable=NO
local_enable=YES
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
chroot_local_user=YES
secure_chroot_dir=/var/run/vsftpd/empty

pam_service_name=vsftpd
pasv_enable=YES
pasv_min_port=41361
pasv_max_port=65534
pasv_address=FORGE.IP.ADDRESS

rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
ssl_enable=NO

vsftpd 服务器运行良好,运行状态显示如下:

● vsftpd.service - vsftpd FTP server
   Loaded: loaded (/lib/systemd/system/vsftpd.service; enabled; vendor preset: enabled)
   Active: active (running) since Mon 2018-11-05 10:31:56 UTC; 22h ago
 Main PID: 32657 (vsftpd)
    Tasks: 1 (limit: 1152)
   CGroup: /system.slice/vsftpd.service
           └─32657 /usr/sbin/vsftpd /etc/vsftpd.conf

以下是 EC2 实例的安全组:

EC2 安全组

我还打开了 UFW 防火墙的 20 和 21 端口。以下是 UFW 状态:

To                         Action      From
--                         ------      ----
22                         ALLOW       Anywhere
80                         ALLOW       Anywhere
443                        ALLOW       Anywhere
21/tcp                     ALLOW       Anywhere
22 (v6)                    ALLOW       Anywhere (v6)
80 (v6)                    ALLOW       Anywhere (v6)
443 (v6)                   ALLOW       Anywhere (v6)
21/tcp (v6)                ALLOW       Anywhere (v6)

我唯一没有做的事情就是将这些端口添加到 UFW 的“允许”列表中,如下所示DigitalOcean 教程建议。但其他答案中没有提到这一点。这是我遗漏的内容还是我遗漏了更明显的东西。

答案1

正如我所想和@Martin Prikryl 所建议的,我确实必须允许我在 UFW 中设置的安全组的端口范围。现在它终于列出了文件。

相关内容