软考
APP下载

CentOS7配置ftps

FTP(File Transfer Protocol)是计算机使用较早的一种文件传输协议,可以通过TCP/IP协议进行文件传输。但由于FTP使用明文传输,安全性无法保证,因此现在使用较多的是FTPS(FTP over SSL/TLS),它通过加密传输数据,保证数据的安全性。本文将以CentOS7系统为例,介绍如何配置FTPS。

1. 安装vsftpd

vsftpd是一个成熟稳定的FTP服务器程序,CentOS7默认源中也有安装包。使用以下命令安装:

sudo yum install vsftpd

2. 配置vsftpd

在安装好vsftpd后,需要进行一些简单的配置。首先,我们需要编辑配置文件/etc/vsftpd/vsftpd.conf:

sudo vi /etc/vsftpd/vsftpd.conf

以下是需要修改的几个配置项:

anonymous_enable=NO //设置不允许匿名用户登录

local_enable=YES //设置允许本地用户登录

write_enable=YES //设置允许用户上传文件

chroot_local_user=YES //限制用户只能访问自己的主目录

user_sub_token=$USER //$USER是一个变量,指当前用户的用户名,这里需要设置user_sub_token为$USER

local_root=/home/$USER/ftp //FTP服务的根目录,这里设置为当前用户的主目录下的ftp目录

ssl_enable=YES //启用SSL

rsa_cert_file=/etc/pki/tls/certs/vsftpd.pem //SSL证书路径

rsa_private_key_file=/etc/pki/tls/private/vsftpd.pem //SSL私钥路径

allow_anon_ssl=NO //禁止匿名用户使用SSL登录

force_local_data_ssl=YES //强制本地数据传输使用SSL

force_local_logins_ssl=YES //强制本地登录认证使用SSL

ssl_tlsv1=YES ssl_sslv2=NO ssl_sslv3=NO //设置SSL支持的协议版本

修改完毕后保存并退出。

需注意,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

此命令将在/etc/pki/tls/private/和/etc/pki/tls/certs/目录下生成私钥和证书文件。

3. 配置防火墙

要确保FTP服务能够正常访问,我们需要配置防火墙,开放FTP所使用的端口。FTP所使用的端口有两种:21和20。其中,21号端口是FTP客户端与服务器进行命令控制传输使用的;20号端口是FTP客户端与服务器进行数据传输使用的。为了在FTP服务中启用传输加密,我们还需要开放一个SSL连接所使用的端口,该端口默认为990。我们可以使用以下命令开放这三个端口:

sudo firewall-cmd --add-port=20/tcp --permanent //开放20号端口

sudo firewall-cmd --add-port=21/tcp --permanent //开放21号端口

sudo firewall-cmd --add-port=990/tcp --permanent //开放SSL连接端口

sudo firewall-cmd --reload //重载防火墙

4. 启动和测试FTPS服务

完成上述配置后,我们需要启动FTPS服务,并测试其是否能正常运行。使用以下命令启动FTPS服务并设置为开机自启动:

sudo systemctl start vsftpd.service

sudo systemctl enable vsftpd.service

之后我们可以使用任何支持FTPS的客户端来连接测试,Windows系统自带的FTP客户端不支持FTPS,我们可以使用FileZilla等工具进行测试。连接时需要填写主机IP、用户名和密码,端口可以使用默认值。如果连接正常,就说明FTPS服务已经部署成功。

备考资料 免费领取:网络工程师报考指南+考情分析+思维导图等 立即下载
真题演练 精准解析历年真题,助你高效备考! 立即做题
相关阅读
网络工程师题库