在Ubuntu上为FTP服务器配置SSL加密,通常使用vsftpd或ProFTPD软件,以下是具体步骤(以vsftpd为例):
安装FTP服务器
sudo apt update && sudo apt install vsftpd  
生成SSL证书
使用OpenSSL生成自签名证书(生产环境建议使用CA签发的证书):
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem  
配置vsftpd
编辑配置文件 /etc/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/ssl/private/vsftpd.pem  
rsa_private_key_file=/etc/ssl/private/vsftpd.pem  
说明:
ssl_enable=YES:启用SSL加密。
force_local_*_ssl=YES:强制本地用户使用SSL连接。- 证书路径需与生成时的路径一致。
重启服务并配置防火墙
sudo systemctl restart vsftpd  
sudo ufw allow 21/tcp  # FTP控制端口  
sudo ufw allow 990/tcp # FTPS数据端口(可选)  
sudo ufw reload  
客户端测试
使用支持FTPS的客户端(如FileZilla),连接时选择“FTP - 文件传输协议”并启用“加密”(需输入服务器IP、用户名、密码)。
注意事项:
pasv_min_port和pasv_max_port并开放对应防火墙端口。参考来源: