在Ubuntu上配置SSL加密FTP(FTPS)涉及几个步骤,包括安装必要的软件、生成证书和密钥、配置FTP服务器以及测试连接。以下是一个详细的指南:
首先,你需要安装一个支持SSL的FTP服务器软件。常用的选择是vsftpd
。
sudo apt update
sudo apt install vsftpd
Certbot是一个用于获取和部署Let’s Encrypt SSL证书的工具。
sudo apt install certbot python3-certbot-nginx
Certbot会自动为你生成SSL证书和密钥。运行以下命令来启动Certbot并配置SSL:
sudo certbot --nginx -d yourdomain.com
按照提示完成证书的生成和配置。Certbot会自动修改Nginx配置文件以支持SSL。
编辑vsftpd
的配置文件:
sudo nano /etc/vsftpd.conf
确保以下配置项被正确设置:
listen=YES
listen_ipv6=NO
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/letsencrypt/live/yourdomain.com/fullchain.pem
rsa_private_key_file=/etc/letsencrypt/live/yourdomain.com/privkey.pem
保存并退出编辑器。
sudo systemctl restart vsftpd
确保防火墙允许FTP和SSL流量:
sudo ufw allow 21/tcp
sudo ufw allow 990/tcp # FTPS控制端口
sudo ufw allow 40000:50000/tcp # 被动模式端口范围
sudo ufw reload
使用FTP客户端(如FileZilla)连接到你的服务器,确保使用SSL加密连接。输入以下信息:
在FileZilla中,确保选择了“使用SSL/TLS”选项。
在FileZilla中,连接到服务器后,检查连接是否加密。你可以在FileZilla的状态栏中看到“加密”字样。
通过以上步骤,你已经在Ubuntu上成功配置了SSL加密FTP。确保定期更新你的证书,并监控服务器的安全状态。