注意一开始不要直接用ES浏览器去连接,它不显示报错信息,很难排查。
作者使用的是AndFTP,逐渐根据报错信息排查出了所有问题成功连接。
报错信息包括:
1.503错误
2.500 oops错误
一. 检查vsftpd启动状态
首先确保启动了vsftpd服务,如果不能启动,查看是不是有什么软件占用了21端口
1 2 3 |
netstat -ntlp |
找到该应用程序并停止,尝试重新启动vsftpd,相关命令如下(具体是哪个取决于你的系统运行的是哪个)
1 2 3 4 5 6 7 |
systemctl restart vsftpd #重启命令 service vsftpd restart systemctl status vsftpd #检查运行状态 service vsftpd status |
二. 检查配置文件(/etc/vsftpd.conf)是否正确
之后如果启动vsftpd仍旧失败,更可能的原因是配置文件有问题,首先放上作者可用的配置文件:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
anonymous_enable=NO #禁止匿名登录 local_enable=YES #使能本地登录 write_enable=YES local_umask=077 use_localtime=YES dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES ascii_upload_enable=YES ascii_download_enable=YES chroot_local_user=YES #缺失此项也会导致错误 listen=YES pam_service_name=/etc/pam.d/vsftpd #用于验证登录密码,这项配置有问题会造成503错误,注意使用绝对路径 userlist_file=/etc/vsftpd/user_list #允许登录用户列表,如果没有请自行添加,并填上需要用于登录的用户名,一行一个名字 userlist_enable=YES #使能白名单(允许登录用户列表) userlist_deny=NO #禁止黑名单 allow_writeable_chroot=YES #此句缺失将导致500 oops错误 |
/etc/pam.d/vsftpd这个文件有点问题,还需要额外添加一句
1 2 3 |
auth required pam_shells.so |
最后重启vsftpd再次用安卓手机尝试进行连接ftp服务器。