Linux vsFTPd服务详解——文件加密传输配置

简介: Linux vsFTPd服务详解——文件加密传输配置

今天继续给大家介绍Linux相关内容,本文主要内容是vsFTPd服务的详解。
阅读本文,您需要有一定的vsFTPd服务配置的基本知识,如果您对此还存在疑惑,欢迎查阅以下文章:
Linux vsFTPd服务详解——vsFTPd基础知识
Linux vsFTPd服务详解——本地用户登录实战

一、生成openssl自签证书
在上篇文章Linux vsFTPd服务详解——本地用户登录实战中,我们通过配置本地用户的用户名和密码,从而增强了FTP服务的安全性。但是,这种配置存在的问题是在FTP传输文件的时候不能加密传输,今天我们采用open自建证书的方式,实现FTP的加密传输。
首先,我们需要下载openssl,执行命令:

yum install -y openssl
1
即可安装openssl,之后使用openssl生成证书命令如下:

openssl req -new -x509 -nodes -out vsftpd.pem -keyout vsftpd.pem -days 356
1
在上述命令中,req表示生成一个证书,-new是第一次执行该命令需要携带的参数,-out指定了证书的文件名称,-keyout指定证书密钥的文件,在本实例中,这两个文件都保存在相同的文件中,-days表示证书的有效期。
在执行上述命令后,进入交互式页面,需要输入证书的地点、组织等信息,全过程如下所示:

上述命令执行完毕后,会在当前目录下生成一个vsftpd.pem文件,如下所示:

生成证书后,我们通常会把证书移动到/etc/vsftpd目录下,为证书文件单独创建一个隐藏目录,然后把证书放入其中,为了保证安全性,我们通常会把证书文件权限设置成400。相关命令如下所示:

mkdir -p /etc/vsftpd/.ssl
mv vsftpd.pem /etc/vsftpd/.ssl/
chmod 400 /etc/vsftpd/.ssl/
1
2
3
二、修改vsFTPd支持证书
在创建证书后,我们需要修改vsftpd的配置文件,使其支持证书,并配置加密功能,打开/etc/vsftpd/vsftpd.conf文件,在任意位置处,写入内容如下:

ssl_enable=YES
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=TRUE
ssl_sslv2=FALSE
ssl_sslv3=FALSE
require_ssl_reuse=NO
ssl_ciphers=HIGH
rsa_cert_file=/etc/vsftpd/.ssl/vsftpd.pem
rsa_private_key_file=/etc/vsftpd/.ssl/vsftpd.pem
1
2
3
4
5
6
7
8
9
10
上述配置中,ssl_enable表示开启ssl证书功能,force_local_data_ssl和force_local_login_ssl表示在登录和数据传输时采用证书加密。后面的三行表示ssl证书的版本,在这里需要注意的有两点。一是ssl的版本一名字是tsl,版本二和版本三名字是ssl;二是这里写的不是YES和NO,而是TRUE和FALSE。第七行require_ssl_reuse表示不重用SSL会话,第八行ssl_cipthers表示用于加密ssl连接,第九行和第十行表示ssl的证书和密钥文件存放位置。
修改后的配置文件如下所示:

在完成上述所有操作后,我们的vsFTPd服务就已经配置完成了,接下来我们就可以重启FTP服务,然后进行验证。

三、效果验证
为了验证我们的FTP加密证书是否配置有效,我们下载了FileZilla软件,用以链接我们配置的FTP服务器,在正确输入IP地址、用户名、密码等信息后,效果如下:

可以看出,FTP连接时下载到了FTP服务器的证书,并且证书中的各项参数与我们之前配置的各项参数基本一致。
在接受并信任该证书后,就成功登录了FTP服务器,如下所示:

由此表示,我们的FTP配置openssl自建证书配置成功!
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200
————————————————

                        版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/weixin_40228200/article/details/121435743

目录
相关文章
|
6月前
|
Linux 网络安全 Docker
盘古栈云,创建带ssh服务的linux容器
创建带ssh服务的linux容器
399 146
|
7月前
|
缓存 安全 Linux
六、Linux核心服务与包管理
在没有网络的情况下,使用系统安装光盘是获取RPM包的常用方法。场景二:配置本地文件镜像源 (使用系统安装光盘/ISO)(检查RPM包的GPG签名以保证安全) 或。YUM/DNF包管理工具 (yum/dnf)(此处可以放置您为本主题制作的思维导图)处理依赖问题的危险选项 (应极力避免)(覆盖文件、替换已安装包)。(list) 则是列出文件。(query file) 是。(假设系统安装光盘已挂载到。信息 (verbose)。(upgrade) 选项。(all) 已安装的包。(package) 选项
530 11
|
12月前
|
Linux Shell
在Linux、CentOS7中设置shell脚本开机自启动服务
以上就是在CentOS 7中设置shell脚本开机自启动服务的全部步骤。希望这个指南能帮助你更好地管理你的Linux系统。
1513 25
|
12月前
|
关系型数据库 MySQL Linux
在Linux环境下备份Docker中的MySQL数据并传输到其他服务器以实现数据级别的容灾
以上就是在Linux环境下备份Docker中的MySQL数据并传输到其他服务器以实现数据级别的容灾的步骤。这个过程就像是一场接力赛,数据从MySQL数据库中接力棒一样传递到备份文件,再从备份文件传递到其他服务器,最后再传递回MySQL数据库。这样,即使在灾难发生时,我们也可以快速恢复数据,保证业务的正常运行。
516 28
|
Linux iOS开发 MacOS
Gitea Enterprise 23.4.0 (Linux, macOS, Windows) - 本地部署的企业级 Git 服务
Gitea Enterprise 23.4.0 (Linux, macOS, Windows) - 本地部署的企业级 Git 服务
386 0
Gitea Enterprise 23.4.0 (Linux, macOS, Windows) - 本地部署的企业级 Git 服务
|
Linux
百度搜索:蓝易云【Linux中如何对文件进行压缩和解压缩?】
这些是在Linux中进行文件压缩和解压缩的常见方法。根据您的需求和具体情况,可能会使用其他压缩工具和选项。您可以通过查阅相应命令的帮助文档来获取更多详细信息。
294 1
|
NoSQL Java Linux
Linux常用命令(文件目录操作、拷贝移动、打包压缩、文本编辑、查找)
Linux常用命令(文件目录操作、拷贝移动、打包压缩、文本编辑、查找)
|
算法 Java Linux
Linux下文件增删改查定位压缩操作与权限所属用户
Linux下文件增删改查定位压缩操作与权限所属用户
214 0
26Linux - 文件管理(文件压缩解压:bzip2)
26Linux - 文件管理(文件压缩解压:bzip2)
201 0
|
Java Shell Linux
Linux【脚本 01】简单Shell脚本实现定时备份文件、压缩、删除超时文件操作(showDoc文件备份脚本举例)
Linux【脚本 01】简单Shell脚本实现定时备份文件、压缩、删除超时文件操作(showDoc文件备份脚本举例)
975 0