温馨提示×

如何搭建debian ftpserver

小樊
40
2026-09-03 17:20:15
栏目: 智能运维

下面给你一份**在 Debian 上搭建 FTP 服务器(以 vsftpd 为例,支持 FTP/FTPS)**的实用指南,从安装到安全配置一步步来。


一、安装 vsftpd

sudo apt update
sudo apt install vsftpd -y

安装完成后,服务会自动注册:

sudo systemctl status vsftpd

二、基础配置(匿名 / 本地用户)

编辑配置文件:

sudo nano /etc/vsftpd.conf

1️⃣ 允许本地用户登录(常用)

anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022

2️⃣ 限制用户在家目录(推荐)

chroot_local_user=YES
allow_writeable_chroot=YES

否则用户可能访问整个文件系统


三、启动并设置开机自启

sudo systemctl restart vsftpd
sudo systemctl enable vsftpd

四、创建 FTP 用户(示例)

sudo useradd -m ftpuser
sudo passwd ftpuser

设置家目录权限:

sudo chown ftpuser:ftpuser /home/ftpuser

五、配置防火墙

如果启用了 ufw

sudo ufw allow 20/tcp
sudo ufw allow 21/tcp

如果是 被动模式(推荐),还需开放端口范围(见下)。


六、配置被动模式(PASV,很重要)

编辑 /etc/vsftpd.conf

pasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000

防火墙开放:

sudo ufw allow 30000:31000/tcp

七、启用 FTPS(加密 FTP,推荐)

1️⃣ 生成证书

sudo openssl req -x509 -nodes -days 365 \
  -newkey rsa:2048 \
  -keyout /etc/ssl/private/vsftpd.key \
  -out /etc/ssl/certs/vsftpd.crt

2️⃣ 启用 SSL

ssl_enable=YES
rsa_cert_file=/etc/ssl/certs/vsftpd.crt
rsa_private_key_file=/etc/ssl/private/vsftpd.key
force_local_logins_ssl=YES
force_local_data_ssl=YES

重启服务:

sudo systemctl restart vsftpd

客户端连接时用:

  • 协议:FTP
  • 加密:显式 FTPS(TLS)

八、测试连接

Linux

ftp your_server_ip

Windows

  • FileZilla
  • WinSCP(推荐)

九、常见问题

530 Login incorrect

  • 检查用户名密码
  • 检查 /etc/shells

500 OOPS: vsftpd: refusing to run with writable root

  • allow_writeable_chroot=YES

被动模式连不上

  • 检查 PASV 端口和防火墙

十、安全建议(重要)

  • ❌ 不要用匿名 FTP
  • ✅ 使用 FTPS / SFTP
  • ✅ 限制可登录用户
  • ✅ 定期更新系统

如果你愿意,我可以:

  • 帮你配置 SFTP(更安全的替代方案)
  • 给你一份 生产环境 vsftpd.conf 模板
  • 或针对 Docker / 云服务器 做专项说明

你想用在什么场景?(内网 / 公网 / 云服务器)

0