在 CentOS 上配置 FTP 服务器的 SSL 加密,可以按照以下步骤进行:
首先,确保你已经安装了 vsftpd
和 openssl
软件包。如果没有安装,可以使用以下命令进行安装:
sudo yum install vsftpd openssl
使用 OpenSSL 生成自签名证书和私钥。你可以使用以下命令生成一个基本的证书和私钥:
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/pki/tls/private/vsftpd.key -out /etc/pki/tls/certs/vsftpd.crt
按照提示输入相关信息。完成后,你会在 /etc/pki/tls/private/
和 /etc/pki/tls/certs/
目录下分别看到 vsftpd.key
和 vsftpd.crt
文件。
编辑 /etc/vsftpd/vsftpd.conf
文件,找到或添加以下配置项:
# 启用 SSL
ssl_enable=YES
# 使用我们生成的证书和私钥
local_cert=/etc/pki/tls/certs/vsftpd.crt
local_key=/etc/pki/tls/private/vsftpd.key
# 强制使用 SSL 连接
force_local_data_ssl=YES
force_remote_data_ssl=YES
# 允许匿名用户访问(可选)
anonymous_enable=NO
保存配置文件后,重启 vsftpd 服务以应用更改:
sudo systemctl restart vsftpd
确保防火墙允许 FTP 和 SSL 流量。你可以使用以下命令打开必要的端口:
sudo firewall-cmd --permanent --add-service=ftp
sudo firewall-cmd --permanent --add-service=ftps
sudo firewall-cmd --reload
使用支持 SSL 的 FTP 客户端(如 FileZilla)连接到你的服务器,确保连接是加密的。
/etc/pki/tls/private/
和 /etc/pki/tls/certs/
目录及其文件的权限设置正确,以防止未经授权的访问。通过以上步骤,你应该能够在 CentOS 上成功配置一个使用 SSL 加密的 FTP 服务器。