温馨提示×

Debian怎样搭建FTPServer服务

小樊
44
2026-08-06 07:37:13
栏目: 智能运维

在 Debian 上搭建 FTP / FTPS(FTP over SSL/TLS)服务器,最常用、稳定的方案是 vsftpd + SSL/TLS。下面给你一套从零到可用的完整流程,适合 Debian 10/11/12。


一、安装 vsftpd

sudo apt update
sudo apt install vsftpd -y

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

systemctl status vsftpd

二、生成 SSL 证书(用于 FTPS)

方式 1:自签名证书(推荐测试/内网)

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

按提示填写信息即可,Common Name 建议填服务器 IP 或域名。


三、配置 vsftpd(支持 FTPS)

编辑配置文件:

sudo nano /etc/vsftpd.conf

基础配置(可直接覆盖)

# 基本设置
listen=YES
listen_ipv6=NO
anonymous_enable=NO
local_enable=YES
write_enable=YES

# 被动模式(非常重要)
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000

# SSL / TLS
ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES

ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO

rsa_cert_file=/etc/ssl/certs/vsftpd.crt
rsa_private_key_file=/etc/ssl/private/vsftpd.key

# 用户限制
chroot_local_user=YES
allow_writeable_chroot=YES

# 日志
xferlog_enable=YES
log_ftp_protocol=YES

保存后退出。


四、开放防火墙端口

1. FTP 控制端口

sudo ufw allow 21/tcp

2. 被动端口范围

sudo ufw allow 30000:31000/tcp

启用防火墙(如未启用):

sudo ufw enable

五、重启 vsftpd

sudo systemctl restart vsftpd
sudo systemctl enable vsftpd

六、创建 FTP 用户

sudo useradd -m ftpuser
sudo passwd ftpuser

测试登录:

ftp localhost

七、使用 FTPS 客户端连接

支持的客户端

  • FileZilla(推荐)
  • WinSCP
  • lftp(Linux)

FileZilla 设置

  • 协议:FTP over TLS
  • 主机:服务器 IP
  • 用户名 / 密码:ftpuser
  • 端口:21

首次连接会提示证书,选择 信任/保存 即可。


八、常见问题排查

1. 无法连接

sudo ss -antp | grep 21

2. 登录后无法列目录

  • 检查被动端口是否开放
  • 检查 SELinux(Debian 默认关闭)

3. 证书不受信任

  • 自签名证书正常现象
  • 生产环境建议使用 Let’s Encrypt

九、可选:使用 Let’s Encrypt 证书(生产环境)

sudo apt install certbot
sudo certbot certonly --standalone -d ftp.example.com

然后修改 vsftpd 配置:

rsa_cert_file=/etc/letsencrypt/live/ftp.example.com/fullchain.pem
rsa_private_key_file=/etc/letsencrypt/live/ftp.example.com/privkey.pem

十、总结

✅ Debian 上搭建 FTPS 推荐方案:
vsftpd + SSL/TLS

✅ 核心要点:

  • 禁用匿名
  • 启用 TLS
  • 配置被动端口
  • 防火墙放行

如果你需要:

  • 只允许特定用户
  • 虚拟用户
  • SFTP(SSH)方案
  • 高安全加固

可以继续告诉我你的使用场景。

0