要在Ubuntu上使用VSFTPD实现FTP over TLS,你需要按照以下步骤操作:
安装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
在提示时输入所需的信息。这将生成一个有效期为365天的自签名证书。
配置VSFTPD以使用SSL:
编辑VSFTPD的配置文件 /etc/vsftpd.conf
:
sudo nano /etc/vsftpd.conf
找到以下行并进行相应的更改:
ssl_enable=YES
设置为启用SSL。ssl_cert
和 ssl_key
指向你的证书和密钥文件:ssl_cert=/etc/ssl/private/vsftpd.pem
ssl_key=/etc/ssl/private/vsftpd.pem
anonymous_enable=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
重启VSFTPD服务: 为了使更改生效,重启VSFTPD服务:
sudo systemctl restart vsftpd
配置防火墙: 如果你有一个活动的防火墙,确保FTP端口(默认是21)和被动模式端口范围是开放的。例如,如果你使用的是UFW,可以运行以下命令:
sudo ufw allow 21/tcp
sudo ufw allow 990/tcp # FTPS控制连接
sudo ufw allow 40000:50000/tcp # 被动模式端口范围
测试FTP over TLS连接: 使用支持TLS的FTP客户端(如FileZilla或其他FTP客户端软件)来测试你的FTP服务器。在连接设置中,确保选择了FTP over TLS(FTPS)。
请注意,自签名的证书不会被客户端浏览器或大多数FTP客户端默认信任。在生产环境中,你应该使用由受信任的证书颁发机构(CA)签发的证书。此外,根据你的具体需求,你可能需要进一步调整配置文件中的设置。