若FTP连接提示“连接超时”或“530错误”,需依次检查:一、Pure-FTPd服务状态与21端口监听;二、防火墙及安全组是否放行21和被动端口(如39000–40000);三、FTP用户密码、根目录存在性、权限(属主www)及IP限制;四、被动模式中公网IP与端口范围配置是否正确;五、客户端设为普通FTP+被动模式,并调高超时阈值。

如果您在使用宝塔面板配置FTP服务后,客户端连接时提示“连接超时”或返回“530错误”,则可能是由于FTP服务未运行、端口被拦截、用户权限异常或被动模式配置不当所致。以下是解决此问题的步骤:
一、检查Pure-FTPd服务状态与端口监听
Pure-FTPd是宝塔默认启用的FTP服务,若其未启动或未正确绑定端口,将导致连接超时或认证失败。
1、登录宝塔面板,进入【软件商店】,找到已安装的【Pure-FTPd】,确认状态为“正在运行”。
2、若显示“已停止”,点击右侧【启动】按钮,并勾选“开机自启”。
3、打开终端,执行命令 netstat -tuln | grep :21,确认端口21有监听进程;若无输出,说明Pure-FTPd未成功绑定端口。
4、执行 bt 15 查看Pure-FTPd日志,定位启动失败原因(如配置文件语法错误、端口被占用等)。
二、验证防火墙与安全组规则
服务器本地防火墙或云服务商安全组若屏蔽了FTP相关端口,会导致客户端无法建立初始连接或数据通道,表现为连接超时。
1、在宝塔面板中进入【安全】页面,确认【21端口】和【被动模式端口范围】(默认39000–40000)处于放行状态。
2、若使用云服务器(如阿里云、腾讯云),登录对应控制台,在安全组规则中手动添加入方向规则:协议类型TCP,端口范围21,39000-40000。
3、执行 systemctl status firewalld 检查firewalld是否运行;若启用,执行 firewall-cmd --list-ports 确认上述端口已加入允许列表。
三、核对FTP用户配置与权限设置
530错误通常表示用户名或密码不正确,或用户主目录不存在、权限不足、被禁用,也可能是用户未绑定正确的根目录。
1、进入宝塔面板【FTP】页面,点击对应用户右侧【设置】,确认【密码】字段已填写且未为空白;若遗忘密码,需重新设置并保存。
2、检查【根目录】路径是否存在且可读写:点击路径右侧【查看】图标,确认该目录在文件管理器中可见;若路径为 /www/wwwroot/site.com,需确保该路径真实存在且非空。
3、点击【设置】中的【限制IP】选项,确认未误填或启用IP黑名单;若启用但未配置允许IP,将直接拒绝所有连接。
4、在终端中执行 ls -ld /www/wwwroot/site.com,确认目录属主为 www 用户;若属主为 root,执行 chown -R www:www /www/wwwroot/site.com 修复权限。
四、调整被动模式(PASV)参数
Pure-FTPd在NAT或有公网IP映射的环境下,若未正确配置被动模式的公网IP与端口范围,客户端将无法建立数据连接,从而触发超时或530错误。
1、进入【FTP】页面,点击右上角【设置】,在【被动模式端口范围】中确认已填写如 39000,40000 的连续端口区间(不可仅填单个端口)。
2、在【FTP服务器IP】字段中,**必须填写服务器实际对外提供服务的公网IP地址**(非127.0.0.1或内网IP);若为阿里云ECS且绑定弹性IP,此处应填弹性IP。
3、修改完成后点击【保存】,再执行 bt 15 查看日志中是否出现 PASV IP set to X.X.X.X 提示,确认配置已生效。
4、重启Pure-FTPd服务:在【软件商店】中点击【重启】按钮。
五、测试FTP连接与客户端配置适配
部分FTP客户端(如FileZilla)默认启用主动模式(PORT)或TLS强制加密,而宝塔Pure-FTPd默认关闭TLS且依赖被动模式,不匹配将引发530或超时。
1、在FileZilla中新建站点,【协议】选择“FTP - 文件传输协议”,【加密】选择“只使用普通FTP(不安全)”。
2、【登录类型】选择“正常”,输入用户名与密码,**务必取消勾选“强制UTF-8”和“使用被动模式”以外的高级选项**。
3、连接后若仍失败,在FileZilla【编辑→设置→连接→FTP】中,将【被动模式响应超时】从默认20秒调高至60秒。
4、使用命令行工具测试基础连通性:执行 ftp -p 服务器公网IP(-p 表示启用被动模式),输入账号密码观察反馈信息。










