centos

CentOS FTPServer SSL证书安装步骤

小樊
51
2025-10-22 00:11:56
栏目: 云计算

1. 安装vsftpd和OpenSSL
首先确保系统已安装vsftpd(FTP服务器软件)和OpenSSL(证书生成工具)。若未安装,执行以下命令安装:
sudo yum install vsftpd openssl -y

2. 生成SSL证书和私钥
使用OpenSSL生成自签名证书(生产环境建议替换为CA颁发的证书)。执行以下命令生成有效期365天、RSA密钥长度2048位的证书:
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/pki/tls/private/vsftpd.key -out /etc/pki/tls/certs/vsftpd.pem
执行过程中需输入国家、组织名称、域名等信息(如无域名可直接回车),生成的私钥(.key)和证书(.pem)将分别保存至指定路径。

3. 配置vsftpd启用SSL
编辑vsftpd主配置文件/etc/vsftpd/vsftpd.conf,添加或修改以下关键参数以启用SSL并强化安全性:

ssl_enable=YES                # 启用SSL/TLS加密
rsa_cert_file=/etc/pki/tls/certs/vsftpd.pem  # 证书文件路径
rsa_private_key_file=/etc/pki/tls/private/vsftpd.key  # 私钥文件路径
force_local_data_ssl=YES      # 强制数据传输使用SSL
force_local_logins_ssl=YES    # 强制登录过程使用SSL
ssl_tlsv1=YES                 # 允许TLSv1协议(更安全)
ssl_sslv2=NO                  # 禁用SSLv2(不安全)
ssl_sslv3=NO                  # 禁用SSLv3(不安全)
allow_anon_ssl=NO             # 禁止匿名用户使用SSL
userlist_enable=YES           # 启用用户列表控制
userlist_deny=NO              # 允许用户列表中的用户登录(需配合/etc/vsftpd/user_list使用)

保存并退出配置文件。

4. 配置防火墙放行流量
若系统启用了firewalld防火墙,需允许FTP及HTTPS(SSL)流量通过:

sudo firewall-cmd --permanent --add-service=ftp    # 允许FTP服务
sudo firewall-cmd --permanent --add-service=https # 允许HTTPS(SSL)服务
sudo firewall-cmd --reload                         # 重新加载防火墙规则

若使用iptables,需添加对应端口规则(FTP默认21端口,SSL加密流量同理)。

5. (可选)配置SELinux(若启用)
若系统SELinux处于enforcing模式,需调整策略以允许vsftpd访问用户目录:

sudo setsebool -P ftp_home_dir on       # 允许FTP访问用户家目录
sudo setsebool -P allow_ftpd_full_access on  # 允许FTP完全访问(根据需求调整)

6. 重启vsftpd服务并验证状态
应用配置变更,重启vsftpd服务:
sudo systemctl restart vsftpd
检查服务运行状态,确保无报错:
sudo systemctl status vsftpd
若显示“active (running)”,则表示服务已正常启动。

7. 测试SSL加密连接
使用支持SSL的FTP客户端(如FileZilla)连接服务器:

注意事项

0
看了该问题的人还看了