在CentOS上配置VSFTPD以實現SSL加密,可以按照以下步驟進行:
首先,確保你的系統是最新的,并安裝VSFTPD和OpenSSL。
sudo yum update -y
sudo yum install vsftpd openssl -y
使用OpenSSL生成自簽名證書和私鑰。你可以選擇使用系統生成的證書頒發機構(CA)或者自己創建一個。
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/pki/tls/private/vsftpd.pem -out /etc/pki/tls/certs/vsftpd.pem
按照提示輸入相關信息,例如國家、組織名稱等。
如果你有一個自定義的CA,可以使用以下命令:
sudo openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 -keyout /etc/pki/tls/private/vsftpd.pem -out /etc/pki/tls/certs/vsftpd.pem -config /etc/pki/tls/openssl.cnf -subj "/C=US/ST=YourState/L=YourCity/O=YourOrganization/CN=yourdomain.com"
編輯VSFTPD的配置文件 /etc/vsftpd/vsftpd.conf
,添加或修改以下配置項:
listen=YES
listen_ssl=YES
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/pki/tls/certs/vsftpd.pem
rsa_private_key_file=/etc/pki/tls/private/vsftpd.pem
保存配置文件后,重啟VSFTPD服務以應用更改。
sudo systemctl restart vsftpd
你可以使用FTP客戶端(如FileZilla)來驗證SSL連接是否成功。在FileZilla中,設置協議為FTP over TLS,并輸入你的服務器地址、用戶名和密碼。
確保防火墻允許FTP和FTPS流量。你可以使用以下命令打開必要的端口:
sudo firewall-cmd --permanent --add-service=ftp
sudo firewall-cmd --permanent --add-service=ftp-data
sudo firewall-cmd --reload
如果SELinux處于 enforcing 模式,你可能需要調整相關策略以允許VSFTPD使用SSL。
sudo setsebool -P ftp_home_dir on
sudo setsebool -P allow_ftpd_full_access on
通過以上步驟,你應該能夠在CentOS上成功配置VSFTPD以實現SSL加密。