在Amazon EC2上安装Proftpd会出现FTP无法连接的情况,明明开放了端口还是连不上,这是因为ec2的主机在内网,需要使用FTP的passive被动模式连接及添加MasqueradeAddress地址才行。
操作步骤:
1、首先给实例绑定一个固定IP(Elastic IP address)。
2、给“Security group”防火墙里,开发FTP的端口,默认为21端口,可自定义。
3、修改Proftpd的配置文件,比如我的配置文件位置在,/usr/local/proftpd/etc/proftpd.conf,你的如果找不到可以搜索一下,然后修改proftpd.conf里面的port端口,此时还需要在端口下添加两行内容,分别为PassivePorts 49152 65535(被动连接端口),MasqueradeAddress your_elastic_ip_address,最后保存后重启proftpd,命令为/etc/init.d/proftpd restart,这样FTP就可以连接上了!
4、别忘了,给你的ftp上传目录,添加ftp用户的所有者权限,如 chown -R simonvps:simonvps /usr/local/simonftp,否则你的ftp即使连接上了,也是无法上传的,切记!
使用chown()请谨慎些,不要对根目录以及包含ssh的目录使用此操作,貌似会令系统奔溃,我对ssh目录使用后,ssh就登陆不上了。。。需要改回来,反正需要注意才行!