要在CentOS上为FTP服务器实现SSL加密,您需要执行以下步骤:
sudo yum install vsftpd
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/pki/tls/private/vsftpd.pem -out /etc/pki/tls/certs/vsftpd.pem
在提示时输入相关信息,如国家、组织名称等。
sudo cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak
sudo vi /etc/vsftpd/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/pki/tls/certs/vsftpd.pem rsa_private_key_file=/etc/pki/tls/private/vsftpd.pem
保存并退出。
sudo systemctl restart vsftpd
sudo firewall-cmd --permanent --add-service=ftp sudo firewall-cmd --permanent --add-service=ftp-data sudo firewall-cmd --reload
sudo setsebool -P ftp_home_dir on sudo setsebool -P allow_ftpd_full_access on sudo chcon -Rv --type=ftp_home_dir '/home/*'
现在,您的CentOS FTP服务器应该已经配置为使用SSL加密。客户端在连接时需要使用FTPS(通常使用端口990)而不是普通的FTP(端口21)。