买了个服务器用FTP连接不上,多数时候不是服务器坏了,而是21端口在云安全组、系统防火墙、FTP被动模式或客户端网络这四道关卡中的某一处被拦住了。 先按“服务是否监听→云安全组→系统防火墙→被动模式→账号权限”的顺序查,通常比反复重装FTP服务更快定位问题。
云服务器FTP连接不上怎么解决:先看现象再定排查顺序
你刚在云厂商控制台买完一台服务器,装好vsftpd,打开FileZilla点连接,状态栏却停在“正在连接”或“读取目录列表失败”,这两种现象指向的位置不一样,先别急着重装系统。
先确认FTP服务到底有没有跑起来
先在服务器本机做一次“自己连自己”的测试,能排除一半低级问题。
- Linux下执行
systemctl status vsftpd,看服务是否active (running)。 - 执行
ss -lntp | grep :21,确认21端口处于LISTEN状态。 - 执行
ftp 127.0.0.1或curl ftp://127.0.0.1,看本机能否登录。 - Windows服务器打开“IIS管理器”,检查FTP站点是否启动;再执行
netstat -ano | findstr :21看端口有没有监听。
如果本机都连不上,问题在服务配置、用户目录或权限;如果本机正常、公网客户端连不上,重点转向网络放行和被动模式。
服务器搭建FTP后无法连接是什么原因
常见原因可以归成几类,按出现频率从高到低排:
- 云安全组或轻量服务器防火墙未放行21端口,公网流量根本到不了服务器。
- 系统防火墙拦截,Linux的firewalld、ufw或Windows Defender防火墙没放行。
- FTP被动模式端口未放行,表现为21端口能连上,但目录列表卡住。
- FTP服务只监听127.0.0.1,公网网卡没有监听。
- 账号密码、用户目录权限、chroot限制导致登录后被拒绝。
- 客户端所在网络封了21出口,公司网、校园网较常见。
业内专家指出,云服务器FTP故障里,安全组和被动模式配置问题占相当大比例,先用下面这张表对照现象,能少走弯路。
| 现象 | 更可能的原因 | 优先检查 |
|---|---|---|
| 客户端一直“正在连接” | 21端口未放行或服务未启动 | 云安全组、系统防火墙、ss -lntp |
| 能登录但“读取目录列表失败” | 被动模式数据端口未放行 | pasv_min_port、pasv_max_port、安全组 |
| 本机可连、公网不可连 | 监听地址或公网放行问题 | listen_address、安全组 |
| 登录后报530 | 账号密码或用户权限 | FTP用户、ftpusers、user_list |
| 连接时通时断 | 客户端网络或NAT环境 | 换手机热点、改被动模式 |
买了服务器FTP连不上是防火墙没开吗:云安全组和系统防火墙都要查
答案是:很可能,而且不止一层防火墙,云服务器通常有“云平台安全组”和“系统内部防火墙”两层,只开一层仍然连不上。
云服务器安全组入方向规则怎么放行FTP
以常见云平台为例,操作路径大同小异:
- 进入云服务器控制台,找到安全组或防火墙页面。
- 选择实例绑定的安全组,进入入方向规则。
- 添加规则:协议TCP,端口21,来源可先填
0.0.0/0测试,稳定后改成你的公网IP。 - 再添加被动端口范围,例如TCP 50000-50100,与FTP服务配置保持一致。
- 轻量应用服务器通常叫“防火墙”,ECS通常叫“安全组”,别只改了一个地方。
Linux系统防火墙放行命令
CentOS/Rocky系常用firewalld:
firewall-cmd --permanent --add-port=21/tcp firewall-cmd --permanent --add-port=50000-50100/tcp firewall-cmd --reload firewall-cmd --list-ports
Ubuntu/Debian系常用ufw:
ufw allow 21/tcp ufw allow 50000:50100/tcp ufw status
如果用的是iptables或nftables,也要检查对应规则,不要只看云安全组,系统防火墙没放行同样会超时。
Windows服务器FTP连接不上怎么设置
Windows服务器除了IIS站点配置,还要看Windows Defender防火墙:
- 打开高级安全Windows Defender防火墙→入站规则→新建规则→端口→TCP→填21和被动端口范围。
- 在IIS的FTP站点里找到“FTP防火墙支持”,设置数据通道端口范围,例如50000-50100,并填写服务器公网IP。
- 云平台安全组同样放行21和该端口范围。
- 检查FTP授权规则和NTFS权限,用户不能只建了账号却没有目录读写权限。
服务器FTP客户端连接超时怎么排查:被动模式是高频坑
21端口能telnet通,不代表FTP就能列目录,FTP的控制连接和数据连接是分开的,客户端在NAT后面时通常走被动模式,数据端口不固定就会卡住。
主动模式和被动模式端口差异
| 模式 | 控制连接 | 数据连接 | 常见问题 |
|---|---|---|---|
| 主动模式 | 21 | 服务器用20主动连客户端 | 客户端在NAT/防火墙后容易失败 |
| 被动模式 | 21 | 服务器开放一个随机端口等客户端连 | 云安全组未放行被动端口范围 |
云服务器上更稳的做法是:固定被动端口范围,云安全组和系统防火墙同时放行,并在NAT场景下配置公网地址。
vsftpd被动模式配置
编辑/etc/vsftpd/vsftpd.conf或/etc/vsftpd.conf,加入或确认:
pasv_enable=YES pasv_min_port=50000 pasv_max_port=50100 pasv_address=你的公网IP local_enable=YES write_enable=YES
改完执行systemctl restart vsftpd,如果服务器在NAT后面,pasv_address不填公网IP,客户端可能拿到内网地址,表现就是“227 Entering Passive Mode”之后一直连不上。
客户端侧排查
- FileZilla进入“编辑→设置→连接→FTP”,传输模式选被动,再勾选被动模式回退测试。
- 看日志里
227 Entering Passive Mode返回的IP和端口,IP是内网地址就说明pasv_address没配好。 - 命令行测试:
telnet 公网IP 21看控制端口;nc -vz 公网IP 21看连通性;curl -v ftp://公网IP看返回。 - 如果21通、列表卡住,优先查被动端口范围有没有在云安全组和系统防火墙放行。
- 换手机热点对比,能排除公司网络或校园网封21出口的情况。
行业内有个共识:FTP排查应从网络层到应用层逐层验证,先通端口,再谈账号和目录,这个顺序能避免在配置文件里反复改却找不到根因。
国内服务器FTP连接不上时的权限与替代方案
网络通了之后,还剩权限和协议选择两个问题,国内服务器FTP连接不上时,不少人会忽略SELinux和用户名单。
账号、目录权限和SELinux
- Linux下检查
/etc/vsftpd/ftpusers和user_list,被写进名单的用户会被拒绝登录。 - 用户家目录权限建议目录755、文件644,不要把家目录设成777。
- 执行
getenforce,如果是Enforcing,可临时setenforce 0测试;确认是SELinux导致后,用setsebool -P ftpd_full_access on放行,别长期关闭SELinux。 - Windows下检查IIS FTP授权规则、用户隔离模式和NTFS权限,三者缺一不可。
FTP、FTPS和SFTP怎么选
FTP是明文协议,账号密码和文件内容都不加密,近年来越来越多云厂商默认收紧21端口,低价服务器和高配实例在连通性逻辑上并没有本质区别,差异主要在带宽、公网IP和计费方式。
| 协议 | 默认端口 | 加密 | 适用场景 |
|---|---|---|---|
| FTP | 21,数据端口另开 | 否 | 内网临时传文件、老设备兼容 |
| FTPS | 21或990 | TLS加密 | 必须用FTP但需要加密 |
| SFTP | 22 | SSH加密 | 云服务器日常传文件,推荐 |
如果只是传文件,没必要跟21端口死磕,用WinSCP或FileZilla选SFTP协议,确认云安全组放行22端口,用系统用户登录即可,SFTP依赖SSH服务,少一层被动端口配置,排障成本更低。
FTP连不上,先把“服务监听、云安全组、系统防火墙、被动端口、客户端网络”这五步走一遍,多数问题会停在安全组或被动模式上,能改用SFTP时优先改用SFTP,既绕开21端口限制,也避免明文传输。
关于买了个服务器怎么用FTP连接不上,常见问题答疑
服务器FTP的21端口telnet通,但FileZilla一直“读取目录列表失败”怎么办?
控制连接通了,数据连接没通,检查被动端口范围是否在云安全组和系统防火墙放行,vsftpd是否配置了pasv_min_port、pasv_max_port和pasv_address,客户端是否处于被动模式,日志里227返回内网IP时,重点修pasv_address。
买了服务器FTP连不上,能直接用SFTP代替吗?
可以,SFTP走SSH的22端口,不需要额外安装FTP服务,确认云安全组放行22端口,客户端协议选SFTP,用系统用户登录,如果22也不通,先查安全组和sshd服务状态。
Windows服务器FTP连接不上,IIS里站点启动了还是不行?
检查Windows防火墙入站规则、IIS“FTP防火墙支持”的数据通道端口范围、云安全组、被动模式公网IP和NTFS权限,IIS FTP同时依赖控制通道21和数据通道端口,两者都放行后客户端才能正常列出目录。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/%e4%b9%b0%e6%9c%8d%e5%8a%a1%e5%99%a8ftp%e8%bf%9e%e4%b8%8d%e4%b8%8a%e6%80%8e%e4%b9%88%e5%8a%9e%ef%bc%8c%e6%9c%8d%e5%8a%a1%e5%99%a8ftp%e8%bf%9e%e6%8e%a5%e5%a4%b1%e8%b4%a5%e5%8e%9f%e5%9b%a0%ef%bc%9f/


