要在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)簽發的證書。此外,根據你的具體需求,你可能需要進一步調整配置文件中的設置。