使用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

相关推荐
王道长服务器 | 亚马逊云3 小时前
AWS CloudWatch:服务器的“眼睛”,实时监控一切动向
服务器·数据库·aws
玉树临风江流儿6 小时前
Linux驱动开发总结速记
linux·运维·驱动开发
七宝大爷6 小时前
GPU服务器深度解析:H100/H200的“机头”与“模组”架构详解
运维·服务器·架构·h100·h200
gd63213747 小时前
银河麒麟 aarch64 linux 里面的 qt 怎么安装kit
linux·服务器·qt
A-花开堪折7 小时前
Qemu 嵌入式Linux驱动开发
linux·运维·驱动开发
磊灬泽7 小时前
【Linux驱动开发】PWM子系统-servo
linux·运维·算法
郝学胜-神的一滴8 小时前
Linux系统函数stat和lstat详解
linux·运维·服务器·开发语言·c++·程序人生·软件工程
Mr.亮先生8 小时前
常用、高效、实用的 Linux 服务器监控与运维工具清单
linux·运维·服务器
王道长服务器 | 亚马逊云8 小时前
AWS CloudWatch Logs Insights:实时日志分析,让服务器问题无所遁形
服务器·云计算·aws
极客先躯9 小时前
高可用巡检脚本实战:一键掌握服务、网络、VIP、资源状态
运维·网络·金融