在CentOS系统下,要为VSFTPD启用SSL加密,你需要按照以下步骤操作:
首先,确保已经安装了vsftpd
和openssl
。如果没有,请使用以下命令安装:
sudo yum install vsftpd openssl
使用openssl
生成自签名SSL证书和私钥。执行以下命令:
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/pki/tls/private/vsftpd.pem -out /etc/pki/tls/certs/vsftpd.pem
按照提示输入相关信息。这将在指定的目录中生成vsftpd.pem
文件,它包含了证书和私钥。
编辑/etc/vsftpd/vsftpd.conf
文件,以启用SSL加密。你可以使用任何文本编辑器,如vi
或nano
:
sudo vi /etc/vsftpd/vsftpd.conf
找到以下行并进行相应的更改:
# 将以下行取消注释并设置为yes以启用SSL
ssl_enable=YES
# 设置SSL证书和私钥文件的路径
rsa_cert_file=/etc/pki/tls/certs/vsftpd.pem
rsa_private_key_file=/etc/pki/tls/private/vsftpd.pem
# 以下选项可提高安全性,但可能导致某些客户端连接失败
ssl_ciphers=HIGH
ssl_min_protocol=TLSv1_2
保存并关闭文件。
为了使更改生效,请重启VSFTPD服务:
sudo systemctl restart vsftpd
确保防火墙允许FTP和SSL流量。使用以下命令打开FTP和SSL端口(默认情况下,FTP使用端口21,SSL使用端口990):
sudo firewall-cmd --permanent --add-service=ftp
sudo firewall-cmd --permanent --add-service=ftp_ssl
sudo firewall-cmd --reload
现在,VSFTPD应该已经启用了SSL加密。客户端需要使用FTPS(FTP over SSL)连接到服务器,通常使用端口990。