如何在云主机上架设FTP服务器?

HCRM技术_小炮 云主机 2026-05-29 3 1

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

一、准备工作(通用)

云主机怎么架设ftp

1、云主机:国内云厂商(阿里云、腾讯云、华为云等)或国外 VPS(如 AWS、DigitalOcean)。

2、操作系统:常见为 CentOS/Ubuntu(Linux)或 Windows Server。

3、安全组/防火墙:云厂商的控制台中有安全组规则,必须放行 FTP 相关端口(默认 21 控制端口 + 被动模式端口范围)。

> ⚠️重要:FTP 协议分为主动模式和被动模式,云主机通常在内网/有 NAT,必须使用被动模式,并开放一个端口范围(如 50000-50010)供数据连接。

二、Linux 云主机(以 CentOS 7/8 为例)

云主机怎么架设ftp

1. 安装 vsftpd(最常用的 FTP 服务器软件)

CentOS
yum install -y vsftpd
Ubuntu
apt update && apt install -y vsftpd

配置 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   # 允许写,否则会报错

创建 FTP 用户

创建一个普通系统用户,并设置密码
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)

云主机怎么架设ftp

- 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

- 传输模式:被动模式(务必选择)

三、Windows Server 云主机

安装 FTP 服务器角色

打开“服务器管理器” → 添加角色和功能 → 勾选Web 服务器(IIS) → FTP 服务器 下的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=YESchmod 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

评论

精彩评论
  • 2026-05-29 10:55:11

    在云主机上搭建FTP服务,需安装FTP软件、配置防火墙/安全组、设置用户权限,Linux系统常用vsftpd,Windows系统可用IIS,注意安全组/防火墙端口开放,以及FTP模式选择。