在云主机上搭建 FTP 服务,核心步骤包括:安装 FTP 软件、配置防火墙/安全组、设置用户权限,以下是详细的操作指南,分 Linux 和 Windows 两种情况说明。

1、云主机:国内云厂商(阿里云、腾讯云、华为云等)或国外 VPS(如 AWS、DigitalOcean)。
2、操作系统:常见为 CentOS/Ubuntu(Linux)或 Windows Server。
3、安全组/防火墙:云厂商的控制台中有安全组规则,必须放行 FTP 相关端口(默认 21 控制端口 + 被动模式端口范围)。
> ⚠️重要:FTP 协议分为主动模式和被动模式,云主机通常在内网/有 NAT,必须使用被动模式,并开放一个端口范围(如 50000-50010)供数据连接。
二、Linux 云主机(以 CentOS 7/8 为例)

1. 安装 vsftpd(最常用的 FTP 服务器软件)
CentOS yum install -y vsftpd Ubuntu apt update && apt install -y vsftpd
编辑配置文件/etc/vsftpd/vsftpd.conf,修改以下关键项:
禁止匿名登录 anonymous_enable=NO 允许本地系统用户登录 local_enable=YES 允许写入 write_enable=YES 设置本地用户默认目录(可选,如 /home/user 默认) local_root=/home/$USER 启用被动模式(必须) pasv_enable=YES pasv_min_port=50000 pasv_max_port=50010 设置云主机的公网 IP(必须,否则客户端无法连接被动模式) pasv_address=你的云主机公网IP 限制用户只能在自己的家目录(chroot 禁锢) chroot_local_user=YES allow_writeable_chroot=YES # 允许写,否则会报错
创建一个普通系统用户,并设置密码 useradd -m ftpuser passwd ftpuser
4. 设置目录权限(防止登录时 500 OOPS 错误)
chmod 755 /home/ftpuser
systemctl start vsftpd systemctl enable vsftpd
入方向规则:
- 21 端口:允许 TCP 访问(来源 0.0.0.0/0)

- 50000-50010 端口:允许 TCP 访问(来源 0.0.0.0/0)
7. 配置 Linux 防火墙(如果开启)
firewall-cmd --zone=public --add-port=21/tcp --permanent firewall-cmd --zone=public --add-port=50000-50010/tcp --permanent firewall-cmd --reload
使用 FileZilla 等客户端,输入:
- 主机:云主机公网 IP
- 用户名:ftpuser
- 密码:xxx
- 端口:21
- 传输模式:被动模式(务必选择)
打开“服务器管理器” → 添加角色和功能 → 勾选Web 服务器(IIS) → FTP 服务器 下的FTP 服务 和FTP 扩展。
- 打开IIS 管理器 → 右键“网站” → 添加 FTP 站点。
- 指定名称、物理路径(如D:\FTP)。
- 绑定 IP 和端口:输入云服务器内网 IP(或留空),端口 21。
SSL:选择“允许”或“无 SSL”(测试环境)。
身份验证:勾选“基本”,允许“指定用户”(如管理员 administrator 或新建的本地用户)。
入站规则:放行 21 端口。
被动模式端口范围:IIS 默认使用端口范围 1025-65535,建议在 IIS 中设置固定范围:
- 打开 IIS 管理器 → 在“功能视图”中找到FTP 防火墙支持 → 输入数据通道的范围(50000-50010)。
- 然后在安全组和 Windows 防火墙中放行该端口范围。
客户端连接,模式选择被动模式。
| 问题 | 原因 | 解决 |
| 连接成功,但列表目录失败 | 被动模式端口未放行 | 确保安全组 + 防火墙放行了 pasv_min_port~max_port 范围 |
| 530 Login incorrect | 用户名/密码错误,或 chroot 导致权限问题 | 检查 /etc/vsftpd/vsftpd.conf 中 chroot 相关配置,或使用chmod 755 修复家目录权限 |
| 500 OOPS: cannot change directory | vsftpd 版本导致 chroot 后家目录不可写 | 添加allow_writeable_chroot=YES 或chmod 755 家目录 |
| 阿里云/腾讯云 FTP 连接极慢 | 被动模式下,服务器返回了内网 IP | 配置pasv_address=公网IP(关键) |
FTP 协议明文传输密码和数据,且需要开放多个端口,更安全、简单的方案:
SFTP(SSH File Transfer Protocol):直接利用云主机的 SSH 服务(端口 22),无需额外搭建,使用 FileZilla/WinSCP 选择SFTP 协议,输入服务器 IP、用户名(root/普通用户)、密码即可。
云对象存储(OSS/S3):阿里云 OSS、腾讯云 COS、AWS S3,自带 SDK 和 Web 管理,按量付费,适合大文件、高并发场景。
如果你需要长期或生产环境文件传输,强烈建议使用 SFTP,配置更简单,安全性更高,需要我详细说明 SFTP 的配置方法吗?
文章摘自:https://idc.huochengrm.cn/zj/26091.html
评论
辉韶华
回复在云主机上搭建FTP服务,需安装FTP软件、配置防火墙/安全组、设置用户权限,Linux系统常用vsftpd,Windows系统可用IIS,注意安全组/防火墙端口开放,以及FTP模式选择。