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

一、生成openssl自签证书

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

yum install -y openssl

即可安装openssl,之后使用openssl生成证书命令如下:

openssl req -new -x509 -nodes -out vsftpd.pem -keyout vsftpd.pem -days 356

在上述命令中,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/

二、修改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

上述配置中,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

Linux vsFTPd服务详解——文件加密传输配置相关推荐

  1. Linux vsFTPd服务详解——vsFTPd基础知识

    今天继续给大家介绍Linux运维相关内容,本文主要内容是Linux的vsFTPd服务. 一.vsFTPd服务简介与安装 FTP服务,即File Transfer Protocol.文件传输服务,用于在 ...

  2. Linux DNS服务详解——DNS服务搭建细节

    前几天,我陆续给大家介绍了DNS服务的相关内容,今天,我给大家补充介绍一下DNS服务中一些小问题. 前文链接: Linux DNS服务详解--DNS基础知识 Linux DNS服务详解--DNS实战配 ...

  3. linux网络服务详解,Linux网络服务器配置基础详解 (3)

    Linux网络服务器配置基础详解 (3) Linux网络服务器配置基础详解 (3) 第三步:编辑"inetd.conf"文件(vi /etc/inetd.conf),禁止所有不需要 ...

  4. vsftpd服务详解

    一.vsftpd基本使用 VSFTP是一个基于GPL发布的类Unix系统上使用的FTP服务器软件,它的全称是Very Secure FTP,从此名称可以看出来,编制者的初衷是代码的安全.安全性是编写V ...

  5. Linux启动服务详解

    acpid 提供高级电源管理:配置文件:/proc/acpi/event 预设端口:无 说明:Advanced Configuration and Power Interface,为替代传统的APM电 ...

  6. Linux DNS服务详解——DNS实战配置

    今天继续给大家介绍Linux基础知识,本文主要内容是DNS的实战配置. 一.DNS安装与配置文件 如果采用YUM的安装方式,DNS设计到三个包,相关命令如下: yum install -y bind ...

  7. Linux NTP服务详解

    今天继续给大家介绍Linux运维相关内容,本文主要内容是NTP服务. 一.NTP服务简介 NTP服务,即用来同步系统时间的服务,虽然服务器内部会通过晶振自动计算时间,但是在系统长时间运行下,服务器内部 ...

  8. Linux Apache服务详解——虚拟网站主机功能实战

    今天我们继续给大家介绍Linux相关内容,本文主要内容是Apache服务虚拟网站主机功能实战. 一.虚拟主机功能简介 Apache服务默认支持虚拟主机功能,所谓虚拟主机,就是Apache将一台服务器的 ...

  9. web linux进程管理,详解Supervisor安装与配置(Linux/Unix进程管理工具)

    Supervisor(http://supervisord.org/)是用Python开发的一个client/server服务,是Linux/Unix系统下的一个进程管理工具,不支持Windows系统 ...

  10. Linux服务详解(主要基于RedHat系的及Centos默认服务详解)(综合整理)

    转自:http://blog.csdn.net/jj198981/article/details/7605558 acpid ACPI(全称 Advanced Configuration and Po ...

最新文章

  1. 物联网电子标签助力无人便利店
  2. “西南偏南” 三十年首次 “聚焦中国”
  3. 使用WakeLock将Android应用程序保持后台唤醒
  4. python杨辉三角居中center_python经典---杨辉三角(两种方法)
  5. 谷歌浏览器怎么重发请求_chrome 浏览器的预提取资源机制导致的一个请求发送两次的问题以及ClientAbortException异常...
  6. pytorch教程龙曲良11-15
  7. bz格式linux解压,Linux下tar bz gz等压缩包的压缩和解压
  8. 修复 VM Player 断网问题 20121215T1402
  9. HttpSession介绍
  10. 傅里叶变换【1】:傅里叶变换及逆变换
  11. python 从入门到精通——多任务、多线程编程
  12. Kesci--基于机器学习的故障检测系统
  13. vue-i18n及ElementUI国际化配置步骤
  14. 最新的100个微信小程序-极乐Store
  15. scons 手册_SCons笔记(详细版)
  16. wps斜杠日期格式_使用WPS处理日期数据格式的方法
  17. MySQL如何同时删除主外键关联的两张表中的数据
  18. 【21天转型区块链】DAY2
  19. 新年新气象 每天一个好心情
  20. 系统设置了静态IP之后还会获取动态IP的问题解决

热门文章

  1. Android应用程序的Activity启动过程简要介绍和学习计划 .
  2. 现有产品的三种发展战略
  3. 张亚勤新力作《变革中的思索》受热捧
  4. 深入浅出BP神经网络(反向传播算法)
  5. Keras:框架架构
  6. appnium连接夜神模拟器
  7. pandas根据某列值为key整合其他列值,拆分某列值增加多行数据
  8. multisim安装后无法连接数据库_Kepserver连接Mysql教程(一)MySQL5.5数据库安装
  9. php 1个中文几个字节,PHP函数第15款:gbk中文截取,1个中文字节为2个英文字节 cn_substr...
  10. Java SimpleDateFormat格式化时间不准确