centos ftpserver数据加密配置

作者:袖梨 2026-07-29

在CentOS上为FTP服务器配置数据加密,一般可选择FTPS(FTP over SSL/TLS)或SFTP(SSH File Transfer Protocol)。下面简要介绍这两种方式及其操作步骤:

FTPS(FTP over SSL/TLS)

  1. 安装vsftpd(若尚未安装):
sudo yum install vsftpd
  1. 生成SSL证书:可以通过OpenSSL创建自签名证书,也可以向CA申请证书。
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/pki/tls/private/vsftpd.pem -out /etc/pki/tls/certs/vsftpd.pem
  1. 配置vsftpd:打开并编辑/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.pem
  1. 重新启动vsftpd服务:
sudo systemctl restart vsftpd
  1. 配置防火墙:确认防火墙已经开放FTP端口(通常是21)以及被动模式端口范围。
sudo 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 --reload

SFTP(SSH File Transfer Protocol)

SFTP属于SSH协议的一部分,因此具备原生加密能力。

  1. 安装OpenSSH服务器(若尚未安装):
sudo yum install openssh-server
  1. 启动SSH服务并设置为启用:
sudo systemctl start sshdsudo systemctl enable sshd
  1. 配置SSH:打开并编辑/etc/ssh/sshd_config文件,确认已添加或调整以下内容:
Subsystem sftp /usr/libexec/openssh/sftp-server
  1. 重新启动SSH服务:
sudo systemctl restart sshd
  1. 配置防火墙:确认防火墙已放行SSH端口(默认是22)。
sudo firewall-cmd --permanent --add-port=22/tcpsudo firewall-cmd --reload

使用SFTP传输文件时,客户端会自动接入SSH加密通道。

注意事项

  • 使用FTPS时,客户端必须支持FTPS并完成相应配置。
  • 使用SFTP时,多数现代FTP客户端均已支持SFTP协议。
  • 服务器与客户端系统都应保持最新,以免受到安全漏洞影响。
  • 使用自签名证书时,客户端可能发出证书不受信任的警告。生产环境应改用受信任的证书颁发机构(CA)所签发的证书。

完成这些步骤后,应能在CentOS上建立加密的FTP服务。配置任何服务前都要备份原有配置文件,并且先在测试环境中验证更改,再将其应用到生产环境。

相关文章

精彩推荐