在Ubuntu上配置FTPS(FTP over SSL)加密,你需要安装并配置一个支持SSL的FTP服务器,比如vsftpd或ProFTPD。以下是使用vsftpd配置FTPS的步骤:
安装vsftpd: 打开终端,运行以下命令来安装vsftpd:
sudo apt update
sudo apt install vsftpd
生成SSL证书和密钥: 你可以使用openssl来生成自签名的SSL证书和密钥。运行以下命令:
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem
在提示时输入所需的信息。这将在指定的路径下生成一个名为vsftpd.pem
的文件,它包含了证书和私钥。
配置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/ssl/private/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.pem
这些设置将启用SSL,并配置vsftpd使用你生成的证书和密钥。
重启vsftpd服务: 保存并关闭配置文件后,重启vsftpd服务以应用更改:
sudo systemctl restart vsftpd
配置防火墙: 如果你的服务器运行的是UFW防火墙,你需要允许FTP流量通过。运行以下命令来允许FTP控制连接(默认端口21)和数据连接(默认端口20):
sudo ufw allow 21/tcp
sudo ufw allow 20/tcp
测试FTPS连接: 使用支持FTPS的FTP客户端(如FileZilla)来测试你的服务器。在设置中选择FTPS,并输入你的服务器地址、用户名和密码。确保选择使用显式的FTP over TLS。
请注意,自签名的SSL证书可能会导致浏览器和其他客户端发出安全警告,因为它们不是由受信任的证书颁发机构签发的。对于生产环境,你应该使用由受信任的证书颁发机构签发的证书。
此外,根据你的具体需求,你可能还需要调整vsftpd的其他配置选项。务必查阅vsftpd的官方文档以获取更详细的配置指南。