在CentOS上为FTP服务器配置数据加密,一般可选择FTPS(FTP over SSL/TLS)或SFTP(SSH File Transfer Protocol)。下面简要介绍这两种方式及其操作步骤:
sudo yum install vsftpdsudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/pki/tls/private/vsftpd.pem -out /etc/pki/tls/certs/vsftpd.pem/etc/vsftpd/vsftpd.conf文件,确认已添加或修改以下内容:ssl_enable=YESallow_anon_ssl=NOforce_local_data_ssl=YESforce_local_logins_ssl=YESssl_tlsv1=YESssl_sslv2=NOssl_sslv3=NOrsa_cert_file=/etc/pki/tls/certs/vsftpd.pemrsa_private_key_file=/etc/pki/tls/private/vsftpd.pemsudo systemctl restart vsftpdsudo firewall-cmd --permanent --add-port=21/tcpsudo firewall-cmd --permanent --add-port=990/tcp# FTPS控制端口# 如果使用被动模式,还需要开放被动模式的端口范围sudo firewall-cmd --permanent --add-port=50000-50050/tcpsudo firewall-cmd --reloadSFTP属于SSH协议的一部分,因此具备原生加密能力。
sudo yum install openssh-serversudo systemctl start sshdsudo systemctl enable sshd/etc/ssh/sshd_config文件,确认已添加或调整以下内容:Subsystem sftp /usr/libexec/openssh/sftp-serversudo systemctl restart sshdsudo firewall-cmd --permanent --add-port=22/tcpsudo firewall-cmd --reload使用SFTP传输文件时,客户端会自动接入SSH加密通道。
完成这些步骤后,应能在CentOS上建立加密的FTP服务。配置任何服务前都要备份原有配置文件,并且先在测试环境中验证更改,再将其应用到生产环境。