温馨提示×

Debian FTPServer怎么配置

小樊
48
2026-07-23 10:21:37
栏目: 智能运维

在 Debian 上配置 FTPServer 通常指 FTP over SSL/TLS(即 FTPS,不是 SFTP)。下面以 vsftpd(Very Secure FTP Daemon) 为例,给你一套从安装到启用 FTPS 的完整配置步骤,适合 Debian 10/11/12。


一、安装 vsftpd

sudo apt update
sudo apt install vsftpd -y

二、生成 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(核心)

编辑配置文件:

sudo nano /etc/vsftpd.conf

✅ 推荐 FTPS 配置(可直接覆盖)

# 基础配置
listen=YES
listen_ipv6=NO
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022

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

# SSL / TLS(FTPS)
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️⃣ 命令端口

sudo ufw allow 21/tcp

2️⃣ 被动端口

sudo ufw allow 30000:31000/tcp

(如果用 firewalld / iptables 同理)


五、重启 vsftpd

sudo systemctl restart vsftpd
sudo systemctl enable vsftpd

六、创建 FTP 用户(可选)

sudo useradd -m ftpuser
sudo passwd ftpuser

测试登录:

ftp localhost

七、客户端连接方式(重点)

必须使用 FTPS 客户端

客户端 模式
FileZilla 协议选 FTP over TLS
WinSCP 协议选 FTP + TLS/SSL
lftp set ftp:ssl-force true

❌ 普通 FTP 客户端 无法连接


八、常见问题排查

1️⃣ 登录后 530 错误

sudo nano /etc/shells

确保用户 shell 在列表中(如 /bin/bash


2️⃣ 无法列目录

  • 检查 被动端口是否开放
  • 云服务器需放行安全组

3️⃣ 证书不受信任

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

九、SFTP vs FTPS 区别(重要)

项目 SFTP FTPS
协议 SSH FTP + SSL
端口 22 21
Debian 常用 OpenSSH vsftpd

如果你其实想要的是 SFTP(基于 SSH),我也可以给你单独配置。


如果你愿意,可以告诉我:

  • Debian 版本
  • 本机 / 云服务器
  • 是否需要 虚拟用户
  • 是否和 Nginx / Web 目录 一起用

我可以帮你定制一套更精确的配置 ✅

0