温馨提示×

ubuntu vsftp支持tls吗

小樊
39
2026-09-13 04:51:14
栏目: 智能运维

是的,Ubuntu 上的 vsftpd 支持 TLS。

vsftpd(Very Secure FTP Daemon)在 Ubuntu 中原生支持 FTPS(FTP over TLS/SSL),也就是“显式 TLS”或“隐式 TLS”,但并不是默认开启的,需要手动配置。


一、确认 vsftpd 是否支持 TLS

在 Ubuntu 上安装 vsftpd 后,通常已经支持 TLS:

vsftpd --version

一般输出中会包含:

with SSL support

如果没有 SSL 支持(极少见),可以重新安装:

sudo apt update
sudo apt install vsftpd

二、启用 TLS 的基本配置

编辑配置文件:

sudo nano /etc/vsftpd.conf

添加或修改以下内容:

# 启用 SSL/TLS
ssl_enable=YES

# 使用 OpenSSL
ssl_sslv2=NO
ssl_sslv3=NO
ssl_tlsv1=YES
ssl_tlsv1_1=NO
ssl_tlsv1_2=YES

# 证书路径
rsa_cert_file=/etc/ssl/certs/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.key

# 强制使用 TLS(可选)
force_local_logins_ssl=YES
force_local_data_ssl=YES

# 允许匿名用户不使用 TLS(如不需要可关)
allow_anon_ssl=NO

三、生成自签证书(示例)

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

四、重启 vsftpd

sudo systemctl restart vsftpd

五、客户端连接方式

  • 显式 TLS(推荐):端口 21
    • FileZilla:加密方式选 “Require explicit FTP over TLS”
  • 隐式 TLS:端口 990(需额外配置 listen_port=990

六、注意事项

  • Ubuntu 防火墙需放行 FTP 端口(21 或 990)
  • 使用 TLS 时,被动模式(PASV)需正确配置端口范围
  • vsftpd 不支持 SFTP(SFTP 是 SSH 协议,不是 FTP)

如果你需要,我可以给你一份 完整可直接用的 Ubuntu vsftpd + TLS 配置示例

0