Setting up VSFTPD on AWS EC2 Instance

I'm trying to set up VSFTPD passive hosting on my EC2 instance. I ran through these instructions http://www.synergycode.com/knowledgebase/blog/item/ftp-server-on-amazon-ec2 . However, when I tried to connect in FileZilla, I got

  • Command: CWD /home/lingiii/ftp
  • Response: 250 Directory successfully changed.
  • Command: TYPE I
  • Response: 200 Switching to Binary mode
  • Command: PASV
  • Response: 227 Entering Passive Mode (10,222,206,33,54,184).
  • Status: Server sent passive reply with unroutable address. Using server address instead.
  • Command: LIST
  • Error: Connection timed out
  • Error: Failed to retrieve directory listing

Where directory /home/lingiii/ftp is set to wrx permissions for user lingiii, group developers (of which lingiii is a member) AND I'm logging in as user lingiii.

Any advice?


As @cyberx86 said, vsftpd is sending the instance's internal IP address as the address the client must connect to in response to the PASV command, which the client can't connect to since it isn't running inside EC2. You need to use the pasv_address configuration option to tell vsftpd what the public IP of the instance is.