在 CentOS 上搭建 加密的 FTP 服务器,通常有两种主流做法:
下面分别说明。
yum install -y vsftpd
openssl req -x509 -nodes -days 365 \
-newkey rsa:2048 \
-keyout /etc/vsftpd/vsftpd.key \
-out /etc/vsftpd/vsftpd.crt
编辑配置文件:
vi /etc/vsftpd/vsftpd.conf
添加或修改:
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
systemctl enable vsftpd
✅ 不需要额外安装 FTP 服务
✅ 默认加密
✅ 更安全
yum install -y openssh-server
systemctl enable sshd
systemctl start sshd
useradd ftpuser
passwd ftpuser
firewall-cmd --add-service=ftp --permanent
firewall-cmd --reload
firewall-cmd --add-service=ssh --permanent
firewall-cmd --reload
| 对比项 | FTPS | SFTP |
|---|---|---|
| 加密方式 | SSL/TLS | SSH |
| 端口 | 21 | 22 |
| 配置难度 | 中等 | 简单 |
| 安全性 | 高 | 更高 |
| 推荐程度 | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
✅ 新系统优先用 SFTP
✅ 只有旧系统或客户强制要求时才用 FTPS
如果你告诉我:
我可以给你更精确的配置示例。