在京东云服务器(JD Cloud ECS)上配置FTP服务,通常可以使用 vsftpd(Very Secure FTP Daemon)来实现。以下是详细的配置步骤:
一、准备工作
-
登录京东云控制台
- 登录 京东云官网
- 进入「云主机」管理页面,确保你的ECS实例已创建并运行。
-
远程连接到服务器
- 使用 SSH 工具(如 Xshell、PuTTY 或终端)连接到你的云服务器:
ssh root@你的公网IP地址
- 使用 SSH 工具(如 Xshell、PuTTY 或终端)连接到你的云服务器:
-
检查系统类型
- 确认操作系统(以下以 CentOS 7/8 或 Ubuntu 20.04 为例):
cat /etc/os-release
- 确认操作系统(以下以 CentOS 7/8 或 Ubuntu 20.04 为例):
二、安装 vsftpd 服务
对于 CentOS/RHEL 系统:
sudo yum update -y
sudo yum install vsftpd -y
对于 Ubuntu/Debian 系统:
sudo apt update
sudo apt install vsftpd -y
三、启动并设置开机自启
# 启动服务
sudo systemctl start vsftpd
# 设置开机自启
sudo systemctl enable vsftpd
# 查看状态
sudo systemctl status vsftpd
四、配置 vsftpd
编辑主配置文件:
sudo vi /etc/vsftpd/vsftpd.conf
修改或添加以下关键配置项:
# 允许本地用户登录
local_enable=YES
# 允许写操作
write_enable=YES
# 主动模式端口范围(可选,用于被动模式)
connect_from_port_20=YES
# 启用被动模式
pasv_enable=YES
pasv_min_port=40000
pasv_max_port=45000
# 被动模式使用的公网IP(必须设置为你的云服务器公网IP)
pasv_address=你的公网IP地址
# 禁止匿名登录
anonymous_enable=NO
# 锁定用户在家目录(推荐开启)
chroot_local_user=YES
allow_writeable_chroot=YES
# 启用UTF-8支持(防止中文乱码)
utf8_filesystem=YES
✅ 注意:
pasv_address必须填写你京东云服务器的公网IP地址,否则客户端无法连接。
五、创建FTP用户(可选)
建议不要使用 root 用户进行FTP登录,创建专用用户更安全:
# 创建用户(如 ftpuser),指定家目录
sudo adduser ftpuser -d /home/ftpuser -s /sbin/nologin
# 设置密码
sudo passwd ftpuser
-s /sbin/nologin表示该用户不能通过SSH登录,仅用于FTP。
六、设置防火墙规则
1. 配置系统防火墙(firewalld 或 ufw)
CentOS(firewalld):
sudo firewall-cmd --permanent --add-port=21/tcp
sudo firewall-cmd --permanent --add-port=40000-45000/tcp
sudo firewall-cmd --reload
Ubuntu(ufw):
sudo ufw allow 21/tcp
sudo ufw allow 40000:45000/tcp
sudo ufw reload
2. 京东云安全组配置(非常重要!)
登录京东云控制台 → 找到你的ECS实例 → 安全组 → 添加入站规则:
| 协议 | 端口范围 | 源地址 | 描述 |
|---|---|---|---|
| TCP | 21 | 0.0.0.0/0 | FTP 控制端口 |
| TCP | 40000 – 45000 | 0.0.0.0/0 | FTP 被动模式端口 |
建议限制源IP(如只允许公司IP)以提高安全性。
七、重启 vsftpd 服务
sudo systemctl restart vsftpd
八、测试FTP连接
使用 FTP 客户端(如 FileZilla、WinSCP)连接:
- 主机:你的公网IP
- 用户名:ftpuser
- 密码:你设置的密码
- 端口:21
- 传输模式:主动或被动(推荐被动 Passive)
九、常见问题排查
-
连接超时或卡在列表目录
- 检查
pasv_address是否正确。 - 检查安全组和防火墙是否放行被动端口。
- 检查
-
530 Login incorrect
- 检查用户名密码是否正确。
- 检查
/etc/shadow中用户是否存在。
-
权限错误
- 确保用户对家目录有读写权限:
sudo chown -R ftpuser:ftpuser /home/ftpuser sudo chmod -R 755 /home/ftpuser
- 确保用户对家目录有读写权限:
十、安全建议
- 不要使用 root 用户进行FTP传输。
- 定期更新系统和 vsftpd。
- 可考虑启用 SSL/TLS 加密(配置
vsftpd的 SSL 支持)。 - 限制访问IP范围。
✅ 完成以上步骤后,你的京东云服务器就成功搭建了FTP服务。
如需更高级功能(如虚拟用户、SSL加密等),可进一步配置 PAM 认证或使用 ProFTPD 替代。
如有具体系统版本或错误信息,欢迎补充,我可以提供更精准的帮助。
CLOUD技术笔记