I know this question has been asked to death (1, 2, 3, 4) but I must be missing something here that I just can't get it working. The FTP login is successful but fails at the directory listing suggesting that it is some sort of firewall issue. The server is an EC2 instance Ubuntu 16.04 created using Laravel Forge.
I have added the Passive Ports range on the security group being used and all the configuration are set according to the answers but still I am getting the directory listing error. Any ideas on what I might be doing wrong or what I will need to do to fix it would be appreciated.
Here is my vsftpd config:
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
The vsftpd server is running fine as running a status on it gives the following:
● 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
Here is the security group for the EC2 instance:
I have also opened port 20 and 21 of UFW firewall. Here is the UFW status:
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)
The only thing I haven't done is added those port in the list of 'Allow' on UFW like this DigitalOcean Tutorial suggests. But this has not be suggested in other answers. Is that what I am missing or is there something more obvious I am missing.