要使用SSL加密Debian FTP服务器,您需要执行以下步骤:
安装vsftpd软件包: 在Debian上,您可以使用以下命令安装vsftpd(Very Secure FTP Daemon):
sudo apt-get update
sudo apt-get install vsftpd
安装Certbot以获取SSL证书: Certbot是一个自动获取和安装Let’s Encrypt SSL证书的工具。首先,安装Certbot及其Python依赖项:
sudo apt-get install certbot python3-certbot-nginx
获取SSL证书:
使用Certbot获取SSL证书。请注意,您需要将yourdomain.com
替换为您的实际域名:
sudo certbot --nginx -d yourdomain.com
Certbot将自动配置Nginx以使用SSL证书,并创建一个新的Nginx配置文件。按照提示操作,设置电子邮件地址和同意许可协议。
配置vsftpd以使用SSL: 编辑vsftpd配置文件:
sudo nano /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/letsencrypt/live/yourdomain.com/fullchain.pem
rsa_private_key_file=/etc/letsencrypt/live/yourdomain.com/privkey.pem
ssl_ciphers=HIGH:!aNULL:!MD5
保存并关闭文件。
重启vsftpd服务:
sudo systemctl restart vsftpd
配置Nginx以代理FTP流量: 编辑Nginx配置文件:
sudo nano /etc/nginx/sites-available/yourdomain.com
在server
块中添加以下内容:
location /ftp {
proxy_pass http://127.0.0.1:21;
proxy_ssl on;
proxy_ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;
proxy_ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
保存并关闭文件。然后创建一个到sites-enabled的符号链接:
sudo ln -s /etc/nginx/sites-available/yourdomain.com /etc/nginx/sites-enabled/
重启Nginx服务:
sudo systemctl restart nginx
现在,您的Debian FTP服务器应该已经使用SSL加密。请确保在防火墙中允许FTP和SSL流量。