阿里云ftp配置老卡住,多半出在ECS的端口和权限上

标题:阿里云FTP配置老卡住?多半是ECS端口和被动模式没设好

很多人第一次在阿里云上配FTP,服务装好了却连不上;或者能登录,一到列目录或上传就停住。这类问题多数出在ECS的安全组和被动模式端口上。下面以一台CentOS系统的ECS为例,把阿里云FTP配置从装服务到测试连接走一遍,顺带说明几处容易漏掉的地方。

阿里云ftp配置老卡住,多半出在ECS的端口和权限上

先确定谁上传、传到哪里

动手前先想清楚三件事:谁来传,传到哪个目录,用什么方式连。比如一个做服装电商的小团队,设计师每天把商品图传到服务器,网站程序直接读取。这种场景只需要一个专门的上传账号,权限限制在图片目录里,碰不到系统文件。后面的配置都按这个需求来写,你可以对照自己的情况调整目录和账号。

安装vsftpd

vsftpd是Linux上常用的FTP服务端,配置项直观,出了问题也好查。通过SSH登录ECS后执行:

yum install -y vsftpd
systemctl enable vsftpd
systemctl start vsftpd
systemctl status vsftpd

Ubuntu系统把yum换成apt,其余命令一样。

创建专用上传账号

不要用root或系统默认账号做FTP登录。新建一个只负责上传的用户,主目录指向网站图片目录:

mkdir -p /data/ftp/shop
useradd -d /data/ftp/shop -s /sbin/nologin shop_upload
passwd shop_upload
chown -R shop_upload:shop_upload /data/ftp/shop

/sbin/nologin作为登录shell,禁止该用户通过SSH登录服务器,只保留FTP访问,风险小很多。有些系统里vsftpd会因为shell不在/etc/shells中而拒绝登录,遇到这种报错,把/sbin/nologin追加到/etc/shells末尾即可。

修改vsftpd配置

编辑/etc/vsftpd/vsftpd.conf,主要改动如下:

anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
chroot_local_user=YES
allow_writeable_chroot=YES
pasv_enable=YES
pasv_min_port=40000
pasv_max_port=40100
pasv_address=你的ECS公网IP

anonymous_enable=NO关掉匿名登录,陌生人连不上来。chroot_local_user=YES把用户锁在自己的主目录里,看不到其他路径。pasv_address是最容易被忽略的一项。阿里云ECS的公网IP由NAT映射,服务器自己看到的只是私网地址。如果不指定公网IP,被动模式下客户端拿到的就是私网地址,数据连接会直接失败。把这里换成ECS实际的公网地址即可。

改完后重启:systemctl restart vsftpd。

放行端口:安全组和系统防火墙都要开

这是阿里云FTP配置里常见的坑。除了控制端口21,被动模式还需要一段数据端口,也就是上面设置的40000到40100。两层都要放行,少开一层就会出现“能登录、传不了”的情况。

阿里云安全组

登录ECS控制台,进入“网络与安全”下的“安全组”,找到实例绑定的安全组,添加入方向规则:

  • 协议TCP,端口21,授权对象先填自己办公网的出口IP,测试通过后再决定是否保留固定IP
  • 协议TCP,端口范围40000/40100,授权对象同上

只开了21的话,登录通常能成功,但执行列目录或上传时会卡住。如果你遇到的正是这个现象,先回头检查安全组。

系统防火墙

firewall-cmd --permanent --add-port=21/tcp
firewall-cmd --permanent --add-port=40000-40100/tcp
firewall-cmd --reload

系统开启了SELinux的话,还要允许FTP访问用户目录:setsebool -P ftpd_full_access on。Ubuntu上改用ufw allow 21/tcp和ufw allow 40000:40100/tcp。

测试连接

用FileZilla之类的客户端测试:主机填ECS公网IP,协议选FTP,端口21,登录方式选“普通”,用户名和密码填刚才创建的账号。连上后在站点设置里确认使用被动模式(PASV)。上传一张测试图,能在服务器的/data/ftp/shop下看到文件,基本就通了。

想快速验证数据通道,可以在命令行执行ftp 公网IP,登录后输入ls。能正常列出目录,说明被动模式的数据连接是通的。如果这一步卡住,就回到安全组和防火墙那两处看。

安全提醒

普通FTP以明文传输账号和密码,走公共网络时可能被截获。如果上传的内容比较敏感,可以在vsftpd里配置SSL证书并开启ssl_enable,改用FTPS;或者直接用SFTP,它基于SSH,只需开放22端口。另外,授权对象尽量限定为固定IP,不要长期对所有地址开放21端口,否则很快会被扫描和暴力破解的请求淹没。

小结

阿里云FTP配置本身不复杂,卡住的地方通常是三处:pasv_address没填公网IP,安全组漏开被动端口,系统防火墙或SELinux没放行。按这个顺序逐项排查,大多能找到问题。如果只是稳定上传图片,vsftpd加一个受限账号已经够用。

赞 (0)
阿里云盾能防哪些网络攻击,企业选型时要看什么?
上一篇 2026年10月31日 下午9:23
阿里云PAI训练到上线,这几步要先做
下一篇 2026年10月31日 下午9:23

相关推荐

  • 阿里云区域怎么选,延迟、合规和费用要怎么权衡

    很多团队上云时图省事,随手选一个离自己近的地域,等业务跑起来才发现延迟高、合规不过关,或者账单比预想的贵。阿里云区域怎么选看上去是个小决定,但它会牵动后面的架构设计、数据怎么流转,以及运维要花多少精力。下面先讲地域和可用区的区别,再看三个实际场景,最后给一份落地前可以照着过的清单。 先分清地域和可用区 阿里云的基础设施分两层。上层是地域(Region),比如…

    2026年10月31日
  • 阿里云dns解析记录怎么填,解析不生效时先查哪里

    网站上线以后,域名能不能打开、打开快不快,很多时候卡在DNS解析这一步。阿里云DNS解析在国内用得比较多,控制台逻辑清楚,适合个人站长、中小企业,也适合需要按线路调度的业务。下面先讲记录怎么填,再说解析不生效时该先看哪里。 先搞清楚DNS在做什么 可以把DNS想成一本通讯录。用户在浏览器里输入 www.example.com,电脑并不知道这个名字对应哪台服务…

    2026年10月31日
  • 阿里云 iconfont 图标怎么引入前端项目?

    做网页或小程序时,图标最容易被随手凑合,但它对界面质感影响很大。不少团队前期随便找几张图,后期才发现风格不统一、文件偏大、换色麻烦。阿里云icon的资源正好能解决这些问题。本文讲清楚它是什么、怎么选、怎么接入前端项目,并给出一个中后台的迁移例子。 阿里云icon指的是什么 大多数前端开发者说“阿里云icon”,指的是阿里巴巴矢量图标库(iconfont.cn…

    2026年10月31日
  • 阿里云邀请码怎么填?注册和领券的步骤说明

    想搭一个网站、部署个人博客或者开通对象存储时,很多人第一件事就是问:阿里云邀请码能不能用?能省多少?邀请码能帮你领到新用户优惠,但活动规则变得快,动手前最好到官网核对一遍。 阿里云邀请码是什么 邀请码一般来自老用户的推荐链接,或者官方活动页。新用户用它注册,完成实名认证后,双方可能拿到代金券、折扣或产品试用额度。具体给什么、给多少,要看阿里云当期的活动规则,…

    2026年10月31日
  • 马云卸任阿里巴巴后,董事会席位和股权去了哪里

    2019年9月10日,马云在阿里巴巴的一次告别活动上正式卸任董事局执行主席,张勇接任董事局主席。这一天也是马云55岁生日,他在一年前就公开说过会在这一年离开。外界容易把它看成一个人的退场,但把阿里巴巴二十年的发展放在一起看,这更像是一次按计划推进的交接。 从湖畔花园开始 1999年,马云和十几位合伙人在杭州一处普通住宅里创办了阿里巴巴。那时互联网泡沫刚刚破裂…

    2026年10月31日
返回顶部