阿里云 ECS 配置 FTP 连接的步骤
FTP 连接涉及三个关键环节:服务器端(ECS)软件安装配置、阿里云安全组配置和客户端连接。
步骤一:ECS 服务器端配置(以 vsftpd 为例)
无论您使用 Linux 还是 Windows,都需要在 ECS 实例上安装并运行 FTP 服务软件。这里以 Linux 下常用的 vsftpd 为例:
1.安装 FTP 服务:
(1)登录 ECS 实例。
(2)在 CentOS/RHEL 上执行:yum install vsftpd -y
(3)在 Debian/Ubuntu 上执行:sudo apt-get install vsftpd -y
2.启动并设置自启动:
(1)systemctl start vsftpd
(2)systemctl enable vsftpd
3.配置 vsftpd(关键):
(1)编辑配置文件 /etc/vsftpd/vsftpd.conf,确保以下设置:
(1)anonymous_enable=NO (禁止匿名登录)
(2)local_enable=YES (允许本地用户登录)
(3)write_enable=YES (允许写入文件)
(4)启用被动模式(PASV): 确保配置了 pasv_enable=YES 和特定的端口范围,例如:
pasv_min_port=30000
pasv_max_port=300054.保存并重启 vsftpd 服务。
步骤二:阿里云安全组配置(核心问题)
这是最容易出错的一步。FTP 协议使用两个连接:一个用于控制,一个用于数据。
1.登录 ECS 控制台,找到您的实例,进入 安全组 配置。
2.添加入站安全组规则:
| 端口/协议 | 描述 | 备注 |
| TCP 21 | FTP 控制端口 | 必须放行。 |
| TCP 20 | 主动模式数据端口 | 仅当使用主动模式时需要,但通常不推荐。 |
| TCP 30000-30005 | 被动模式数据端口 | 必须放行,端口范围应与步骤一中 vsftpd.conf 设置的范围一致。 |
| 来源 IP | 设置为 0.0.0.0/0(允许所有公网访问)或您本地客户端的 IP。 | 推荐设置为 0.0.0.0/0 进行测试。 |
步骤三:客户端连接与测试
1.使用 FTP 客户端(如 FileZilla、WinSCP)。
2.输入信息:
(1)主机: 您的 ECS 公网 IP 地址。
(2)用户名/密码: ECS 实例上的系统用户及其密码。
(3)端口: 21
3.连接模式: 在客户端中选择使用 “被动模式”(Passive Mode) 连接。这是阿里云 ECS 环境中最推荐的模式,因为它能更好地穿越防火墙。
常见问题与排查
(1)无法登录(端口 21 连接失败): 检查安全组是否放行了 TCP 21 端口,以及 ECS 实例的系统防火墙(如 iptables 或 firewalld)是否放行 21 端口。
(2)登录成功但无法列出目录或传输文件: 这是典型的被动模式连接失败。请仔细检查安全组中是否放行了您在 vsftpd.conf 中配置的那个端口范围。
