在 Linux 上搭建 FTP 服务器 时,“加密”通常有两层含义,需要分清楚:
下面按最常见、最实用的方式说明。
FTPS = FTP + SSL/TLS
兼容性好,配置简单。
# Debian / Ubuntu
apt install vsftpd
# CentOS / Rocky / Alma
yum install vsftpd
openssl req -x509 -nodes -days 365 \
-newkey rsa:2048 \
-keyout /etc/vsftpd/vsftpd.key \
-out /etc/vsftpd/vsftpd.crt
编辑 /etc/vsftpd.conf:
listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
# 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/vsftpd/vsftpd.crt
rsa_private_key_file=/etc/vsftpd/vsftpd.key
systemctl restart vsftpd
⚠️ 注意:SFTP ≠ FTPS
只要系统有 SSH:
systemctl status sshd
客户端直接用:
sftp user@ip✅ 这是最安全、最推荐的方式
❌ 普通 FTP(21 端口,明文)
| 场景 | 推荐 |
|---|---|
| 对外提供服务 | SFTP |
| 必须用 FTP 协议 | FTPS(vsftpd) |
| 内部测试 | FTP(不推荐) |
我可以给你一份可直接用的配置文件。