在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的官方文檔以獲取更詳細的配置指南。