现象:用户反馈ftp无法登陆,ssh登陆是正常的,在登陆ftp的时候提示错误:连接接受发送的数据确认失败,新建ftp站点同样有提示错误:服务器端接口异常,ftp站点添加失败。
1、解决方案1
分析过程及解决方案:我们入机器后查看,确认是/etc/vsftpd/vsftpd.conf,用户主动模式和被动模式设置错误导致。 在/etc/vsftpd/vsftpd.conf文件里用户的源文件是这样的: listen=YES anonymous_enable=NO use_localtime=YES local_enable=YES write_enable=YES local_umask=022 dirmessage_enable=NO xferlog_enable=YES connect_from_port_20=YES xferlog_file=/var/log/vsftpd.log xferlog_std_format=NO idle_session_timeout=180 data_connection_timeout=120 ascii_upload_enable=YES ascii_download_enable=YES ftpd_banner=Welcome to www.net.cn FTP service. chroot_list_enable=YES chroot_list_file=/etc/ftpchroot ls_recurse_enable=YES pam_service_name=vsftpd userlist_enable=YES log_ftp_protocol=YES max_per_ip=3 pasv_enable=YES pasv_max_port=30000 pasv_min_port=30000
设置出错的原因分析:
在上述/etc/vsftpd/vsftpd.conf文件中connect_from_port_20=YES 是 当主动模式开启的时候,是否启用默认的20端口监听的意思 pasv_enable=YES pasv_max_port=30000 pasv_min_port=30000这个是用被动模式进行设置
被动模式正确设置为: PASV_enable=YES 开启被动模式 PASV_min_port=%number% 被动模式最低端口 PASV_max_port=%number% 被动模式最高端口 用户的被动模式的端口最低和最高都是30000,所有pasv_max_port=30000 pasv_min_port=30000是配置错误的。
2、解决方案:
1)我们将connect_from_port_20=YES这话主动模式的注释掉
2)修改被动模式配置 pasv_enable=YES pasv_max_port=30000 pasv_min_port=30000 改为 pasv_enable=YES pasv_max_port=30000 pasv_min_port=25000
3)重启vsftp后可以登录。 (责任编辑:IT) |