温馨提示×

Debian vsftp支持SSL吗

小樊
45
2026-07-16 02:24:02
栏目: 云计算

是的,Debian 上的 vsftpd 完全支持 SSL/TLS(FTPS)。

vsftpd(Very Secure FTP Daemon)本身内置了对 SSL/TLS 的支持,Debian 官方仓库中的 vsftpd 软件包通常也是编译了 SSL 支持的。

下面是在 Debian 上配置 vsftpd 使用 SSL 的基本步骤和要点:

1. 安装 vsftpd

如果尚未安装:

sudo apt update
sudo apt install vsftpd

2. 准备 SSL 证书

你可以使用以下两种方式之一:

方式 A:使用 Let’s Encrypt(推荐,生产环境)

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

证书路径通常为:

  • 证书:/etc/letsencrypt/live/ftp.yourdomain.com/fullchain.pem
  • 私钥:/etc/letsencrypt/live/ftp.yourdomain.com/privkey.pem

方式 B:生成自签名证书(测试用)

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

3. 配置 vsftpd 启用 SSL

编辑配置文件:

sudo nano /etc/vsftpd.conf

添加或修改以下内容:

# 启用 SSL
ssl_enable=YES

# 禁止匿名用户使用 SSL(可选)
allow_anon_ssl=NO

# 强制本地用户使用 SSL
force_local_data_ssl=YES
force_local_logins_ssl=YES

# SSL 证书和私钥路径
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.yourdomain.com/fullchain.pem
# rsa_private_key_file=/etc/letsencrypt/live/ftp.yourdomain.com/privkey.pem

# 允许 TLS(推荐)
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO

# 提高安全性
require_ssl_reuse=NO

4. 重启 vsftpd

sudo systemctl restart vsftpd

5. 客户端连接方式

  • 使用 FTPS(显式 TLS),端口仍是 21
  • 不要与 SFTP(SSH File Transfer Protocol) 混淆,vsftpd 不支持 SFTP

6. 常见问题

  • 防火墙:确保 21 端口开放
  • 被动模式(Passive Mode):如果服务器在 NAT 后,需要正确配置被动端口范围
  • 客户端兼容性:FileZilla、WinSCP 等主流客户端都支持 FTPS

如果你愿意,我可以帮你:

  • 检查你当前的 /etc/vsftpd.conf
  • 配置被动模式 + SSL
  • 排查连接失败问题

0