FTP传输连接失败?别急,这几个地方一查就灵

小王昨天想把公司网站的图片批量传到服务器上,打开FTP客户端输完地址、账号密码,点连接——转了几秒,弹出个红字:「连接失败」。他反复试了三次,连手机热点都换了一遍,还是不行。其实,FTP连不上这事儿太常见,真不是服务器炸了,八成是下面几个地方卡住了。

先看端口通不通

FTP默认用21端口,但很多宽带路由器或防火墙会把它当“可疑流量”悄悄拦掉。你可以在命令行里快速测一测:

telnet ftp.example.com 21
如果提示「无法连接到主机」或者直接超时,大概率是端口被挡了。这时候别硬连,先去路由器后台把21端口(还有被动模式常用的高端口段,比如50000-51000)加进「端口转发」或「DMZ主机」里试试。

被动模式(PASV)常被忽略

家里用WiFi、公司走代理、甚至某些校园网,主动模式(PORT)根本走不通。大多数现代FTP客户端默认开PASV,但有些老软件或手动配置时容易关掉。进设置里找找「传输模式」或「FTP模式」,确保勾选的是「被动模式」。FileZilla用户可以点「编辑 → 设置 → 连接 → FTP → 被动模式」,确认已启用。

用户名密码输错?别笑,真有人输错

大小写敏感、多敲了个空格、用了中文输入法下的冒号……这些细节最坑人。建议复制粘贴账号密码,再对着服务器后台逐字核对。如果是虚拟主机,控制面板里生成的FTP密码有时带特殊符号,比如 @!,复制时容易漏掉。

服务器那边也得看看

不是所有FTP服务都常年在线。共享主机可能限制同时连接数(比如只准1个IP连2个会话),你同事正上传文件,你就连不上;或者服务商半夜升级维护,FTP服务暂时停摆。登录主机管理后台,看看FTP状态是不是「运行中」;也可以让管理员执行一句:

systemctl status vsftpd
(Linux服务器常用)快速确认服务活没活着。

最后检查下域名解析

有时候你输的是 ftp.yourdomain.com,但这个子域名压根没做DNS解析,或者CNAME指向错了。在CMD里跑一句:

ping ftp.yourdomain.com
如果返回「找不到主机」,说明域名没解析成功,得去域名管理后台补一条A记录,指向服务器真实IP。