如何在京东云服务器上配置FTP服务?

在京东云服务器(JD Cloud ECS)上配置FTP服务,通常可以使用 vsftpd(Very Secure FTP Daemon)来实现。以下是详细的配置步骤:


一、准备工作

  1. 登录京东云控制台

    • 登录 京东云官网
    • 进入「云主机」管理页面,确保你的ECS实例已创建并运行。
  2. 远程连接到服务器

    • 使用 SSH 工具(如 Xshell、PuTTY 或终端)连接到你的云服务器:
      ssh root@你的公网IP地址
  3. 检查系统类型

    • 确认操作系统(以下以 CentOS 7/8 或 Ubuntu 20.04 为例):
      cat /etc/os-release

二、安装 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)

九、常见问题排查

  1. 连接超时或卡在列表目录

    • 检查 pasv_address 是否正确。
    • 检查安全组和防火墙是否放行被动端口。
  2. 530 Login incorrect

    • 检查用户名密码是否正确。
    • 检查 /etc/shadow 中用户是否存在。
  3. 权限错误

    • 确保用户对家目录有读写权限:
      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 替代。

如有具体系统版本或错误信息,欢迎补充,我可以提供更精准的帮助。