使用vsftpd搭建FTP服务器(TLS/SSL显式加密)

安装vsftpd服务

使用vsftpd RPM安装包安装即可,如果可以访问YUM镜像源,通过dnf或者yum工具更加方便。

bash 复制代码
yum -y install vsftpd

启动vsftpd、查看服务状态

bash 复制代码
systemctl enable vsftpd
systemctl start vsftpd
systemctl status vsftpd

备份配置文件并进行配置

cp /etc/vsftpd/vsftpd.conf{,_bak}

~]# grep -E -v '^#|^$' /etc/vsftpd/vsftpd.conf

-- 默认放开的配置

anonymous_enable=NO

local_enable=YES

write_enable=YES

local_umask=022

dirmessage_enable=YES

xferlog_enable=YES

connect_from_port_20=YES

xferlog_std_format=YES

listen=NO

listen_ipv6=YES

pam_service_name=vsftpd

userlist_enable=YES
-- 启用 chroot,限制本地用户到其主目录,不配置allow_writeable_chroot,会报OOP:chroot()失败错误。

chroot_local_user=YES

allow_writeable_chroot=YES
-- 可配可不配,用于放开哪些用户可以不用chroot

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list
-- 配置启用TLS/SSL显式加密

启用 SSL 功能

ssl_enable=YES

force_local_logins_ssl=YES

指定服务器的 RSA 证书文件

rsa_cert_file=/etc/ssl/certs/vsftpd.pem

rsa_private_key_file=/etc/ssl/private/vsftpd.pem

允许使用 SSL/TLS 协议的最低版本(可选,根据需要设置)

ssl_tlsv1=YES

ssl_sslv2=NO

ssl_sslv3=YES

指定允许的加密套件(可选,根据需要设置)

ssl_ciphers=HIGH

指定显式加密场景下,动态数据连接监听端口范围(默认范围比较大)。

注:这里只需要配置范围,不需要开启被动模式(无需配置:pasv_enable =Yes

pasv_min_port=30000

pasv_max_port=30999

重启vsftpd服务

bash 复制代码
systemctl restart vsftpd

配置防火墙列外

如果不将动态数据连接监听端口范围放开访问会一直卡在获取目录列表上(vsftpd 读取目录列表失败)。

bash 复制代码
firewall-cmd --add-port 21/tcp --permanent
firewall-cmd --add-port 30000-30999/tcp --permanent
firewall-cmd --reload

开启SELinux的ftpd_full_access布尔值为on

bash 复制代码
setsebool -P ftpd_full_access on

或者干脆关掉SELinux。

setenforce 0

原因:

  • 本地用户访问家目录 :当需要让本地用户能够通过FTP访问其家目录时,仅在vsftpd配置文件中将local_enable设置为YES可能还不够。因为SELinux默认会限制这种访问,导致用户无法正常登录或访问家目录中的文件。启用ftpd_full_access后,SELinux将允许FTP进程访问用户的家目录,从而使用户能够正常进行文件传输等操作。

使用WinSCP访问

如果想使用命令行访问呢?这个就比较复杂了,我会另开一篇进行总结说明。

命令行以TLS/SSL显式加密方式访问FTP服务器https://blog.csdn.net/avatar_2009/article/details/148481334

相关推荐
乘云数字DATABUFF2 天前
5分钟部署开源APM Databuff:OpenTelemetry全链路追踪入门实战
运维·后端
荣--4 天前
一键部署不是为了省时间 —— 它是把"买来的 PaaS"变成"自己的平台"的拐点
运维·zabbix·工程化·一键部署·平台化·边界设计
江华森4 天前
动手实战学 Docker — 从零到集群编排完全指南
运维
Avan_菜菜5 天前
FRP 内网穿透完整实战:从 HTTP 映射到 HTTPS 自签代理
运维·nginx·https
SelectDB6 天前
Litefuse 开源并推出单进程轻量模式,25 秒就能跑起来的 Agent 可观测与评估平台
运维·后端·自动化运维
zzzzzz3107 天前
9K Star 炸裂开源!这个 C 语言写的代码知识图谱,把 Linux 内核索引压缩到了 3 分钟
linux·服务器·sql
XIAOHEZIcode7 天前
Linux系统鼠标偏移常见原因以及修复方案
linux·运维·游戏
用户0328472220708 天前
如何搭建本地yum源(上)
运维
大树8811 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠11 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql