温馨提示×

Debian FTPServer配置步骤是啥

小樊
44
2026-08-06 08:02:15
栏目: 智能运维

下面以 vsftpd(Very Secure FTP Daemon) 为例,介绍在 Debian 上配置 FTP / FTPS(FTP over SSL/TLS) 的完整步骤。vsftpd 是 Debian 上最常用、最安全的 FTP 服务端。


一、安装 vsftpd

sudo apt update
sudo apt install vsftpd -y

查看状态:

sudo 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 或域名)。

2️⃣ 如使用 Let’s Encrypt(推荐)

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

证书路径通常为:

/etc/letsencrypt/live/ftp.example.com/

三、配置 vsftpd(核心)

编辑配置文件:

sudo nano /etc/vsftpd.conf

✅ 基础配置

listen=YES
listen_ipv6=NO

anonymous_enable=NO
local_enable=YES
write_enable=YES

local_umask=022
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES

chroot_local_user=YES
allow_writeable_chroot=YES

✅ FTPS(SSL/TLS)配置(重点)

自签证书:

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

Let’s Encrypt:

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

通用 SSL 设置:

ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO

force_local_data_ssl=YES
force_local_logins_ssl=YES

require_ssl_reuse=NO
ssl_ciphers=HIGH

✅ 被动模式(推荐,云服务器必开)

pasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000
pasv_address=你的服务器公网IP

四、重启服务

sudo systemctl restart vsftpd
sudo systemctl enable vsftpd

五、创建 FTP 用户

sudo useradd -m ftpuser
sudo passwd ftpuser

禁止 SSH 登录(可选):

sudo usermod -s /usr/sbin/nologin ftpuser

六、防火墙设置

UFW 示例:

sudo ufw allow 20/tcp
sudo ufw allow 21/tcp
sudo ufw allow 30000:31000/tcp

七、客户端连接方式

类型 说明
FTP 明文(不推荐)
FTPS 显式 SSL(端口 21,推荐)
SFTP SSH 协议(不是 FTP,VSFTPD 不支持)

✅ 客户端(FileZilla)选择:

  • 协议:FTP
  • 加密:使用显式 FTP over TLS

八、常见问题

❌ 530 Login incorrect

  • 检查用户是否允许登录
  • PAM 设置:
sudo nano /etc/pam.d/vsftpd

❌ 无法连接(云服务器)

  • 安全组放行 21 + 被动端口
  • pasv_address 必须正确

九、安全建议 ✅

  • 禁用匿名登录
  • 启用 chroot
  • 使用 FTPS(不要明文 FTP)
  • 限制被动端口范围
  • 定期更新证书

如果你需要:

  • 只内网使用
  • 虚拟用户
  • 和 Nginx / Apache 共用
  • Debian 12 专用配置

可以告诉我你的具体使用场景,我可以给你定制配置。

0