CentOS FTP Server如何开启SSL加密

198
2025/3/25 21:32:22
栏目: 云计算
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在CentOS上为FTP服务器开启SSL加密,通常需要以下几个步骤:

1. 安装FTP服务器软件

CentOS默认使用vsftpd作为FTP服务器。你可以使用以下命令安装它:

sudo yum install vsftpd

2. 配置vsftpd以支持SSL

编辑vsftpd的配置文件 /etc/vsftpd/vsftpd.conf

sudo vi /etc/vsftpd/vsftpd.conf

找到并修改以下配置项:

  • ssl_enable=YES:启用SSL。
  • allow_anon_ssl=NO:禁止匿名用户使用SSL。
  • force_local_data_ssl=YES:强制本地数据连接使用SSL。
  • force_local_logins_ssl=YES:强制本地登录使用SSL。
  • ssl_tlsv1=YES:启用TLSv1。
  • ssl_sslv2=NO:禁用SSLv2。
  • ssl_sslv3=NO:禁用SSLv3。
  • rsa_cert_file=/etc/pki/tls/certs/your_certificate.crt:指定SSL证书文件路径。
  • rsa_private_key_file=/etc/pki/tls/private/your_private_key.key:指定SSL私钥文件路径。

3. 生成SSL证书和私钥

如果你还没有SSL证书和私钥,可以使用OpenSSL生成自签名证书:

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/pki/tls/private/your_private_key.key -out /etc/pki/tls/certs/your_certificate.crt

按照提示输入相关信息。

4. 重启vsftpd服务

保存配置文件后,重启vsftpd服务以应用更改:

sudo systemctl restart vsftpd

5. 配置防火墙

确保防火墙允许FTP和FTPS(FTP over SSL)流量。你可以使用firewalld来配置:

sudo firewall-cmd --permanent --add-service=ftp
sudo firewall-cmd --permanent --add-service=ftps
sudo firewall-cmd --reload

6. 测试FTP连接

使用支持SSL的FTP客户端(如FileZilla)连接到你的FTP服务器,确保能够成功建立SSL连接。

注意事项

  • 确保你的证书和私钥文件权限正确,通常应该是600:
    sudo chmod 600 /etc/pki/tls/private/your_private_key.key
    sudo chmod 600 /etc/pki/tls/certs/your_certificate.crt
    
  • 如果你使用的是Let’s Encrypt等免费证书颁发机构,可以参考其文档来获取和安装证书。

通过以上步骤,你应该能够在CentOS上成功为FTP服务器开启SSL加密。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: GitLab在CentOS上的网络配置有哪些要点