如何在CentOS 8 / RHEL 8上安装vsftpd(ftp服务器)


FTP是File Transfer Protocol(文件传输协议)的缩写,是一种协议,可用于访问服务器上的文件。在本文中,我们将介绍如何在CentOS 8 / RHEL 8上安装vsftpd(FTP服务器),以及配置vsftpd和防火墙中的vsftpd。

FTPFile Transfer Protocol文件传输协议)的缩写,是一种协议,可用于访问服务器上的文件。它是最早的协议,使用户可以通过Internet下载文件。使用FTP协议,用户可以轻松地在服务器上下载和上传文件。

Vsftpd Very Secure FTP守护程序的缩写,是一个安全FTP守护程序,它是FTP协议的升级。它通过加密发送到服务器和来自服务器的流量来加强与FTP服务器的安全连接,这样做可以防止黑客对文件传输进行安全保护。

在本文中,我们将介绍如何在CentOS 8 / RHEL 8上安装vsftpd,以及配置vsftpd和防火墙中的vsftpd。

步骤1)使用dnf命令安装vsftpd

马上,我们将安装vsftpd。为此,我们将运行以下命令:

$ sudo dnf install vsftpd

如何在CentOS 8 / RHEL 8上安装vsftpd(ftp服务器)

按“ y ”,然后按Enter键开始进行安装。安装需要几秒钟,并且很快就会完成。以下输出确认vsftpd已成功安装。

如何在CentOS 8 / RHEL 8上安装vsftpd(ftp服务器)

输出表明我们已经安装了vsftpd版本3.0.3-31.el8.x86_64。要确认这一点,请执行以下命令:

[ linuxtechi @ centos8-vsftpd〜] $ rpm -q vsftpd 
vsftpd-3.0.3-31.el8.x86_64 
[ linuxtechi @ centos8-vsftpd〜] $

成功安装后,输出应与终端上印刷的版本相符。要检索有关Vsftpd的更多详细信息,请在末尾附加-i标志,如下所示:

$ rpm -qi vsftpd

这将在屏幕上打印其他信息,例如体系结构,安装日期,许可证和签名等。

如何在CentOS 8 / RHEL 8上安装vsftpd(ftp服务器)

安装了vsftpd后,我们需要运行它来促进对文件共享的访问。

要启动vsftpd服务,请运行以下命令:

$ sudo systemctl start vsftpd

您可能还希望使它能够在重新启动后自动启动。为此,运行命令

$ sudo systemctl enable vsftpd --now

要验证vsftpd在系统上的状态,请运行:

$ sudo systemctl status vsftpd

如何在CentOS 8 / RHEL 8上安装vsftpd(ftp服务器)

如果您在终端上看到绿色的“ active:(running) ”指令,则说明vsftpd服务已启动并正在运行。

步骤2)创建ftp用户及其目录

接下来,我们将创建一个用于访问FTP服务器的用户。在这种情况下,用户将是ftpuser,但可以随意为您的用户选择名称。

$ sudo adduser ftpuser 
$ sudo passwd ftpuser

使用FTP用户后,我们将继续创建FTP目录并分配以下权限和目录所有权。

$ sudo mkdir -p / home / ftpuser / ftp_dir 
$ sudo chmod -R 750 / home / ftpuser / ftp_dir 
$ sudo chown -R ftpuser:/ home / ftpuser / ftp_dir

我们还需要将FTP用户添加到/ etc / vsftpd / user_list文件中,以允许该用户访问vsftp服务器。

$ sudo bash -c 'echo ftpuser >> /etc/vsftpd/user_list'

步骤3)通过其配置文件配置vsftpd

到目前为止,我们已经成功安装并确认vsftpd已启动并正在运行。Vsftpd需要进行进一步的调整,以允许用户访问服务器。

vsftpd的默认配置文件是/etc/vsftpd/vsftpd.conf文件。该文件中充满了可增强FTP服务器安全性的指令。

在本节中,我们将对配置文件进行一些调整,并允许用户访问服务器。

要允许本地用户远程访问FTP服务器并阻止匿名用户,请确保您具有如下所示的指令:

anonymous_enable=NO
local_enable=YES

要授予用户运行任何FTP命令的权限并进行更改(例如上载,下载和删除文件)的权限,请在以下一行中添加行。

write_enable = YES

为了安全起见,您可以选择限制用户访问其主目录之外的任何文件和目录。因此,请使用以下指令。

chroot_local_user =yes

要授予用户对其各自主目录的写访问权,请确保您具有此伪指令。

allow_writeable_chroot =yes

接下来,我们将定义自定义端口以启用被动FTP连接。在这种情况下,我们将指定端口30000和31000。稍后我们将在防火墙上将其打开。

pasv_min_port = 30000 
pasv_max_port = 31000

接下来,我们将仅允许/ etc / vsftpd / user_list中定义的用户访问服务器,并阻止其余用户。为此,请在下面添加以下行。

userlist_file = / etc / vsftpd / user_list 
userlist_deny =yes

最后,保存并关闭文件。为了使更改保持不变,请重新启动Vsftpd服务。

$ sudo systemctl restart vsftpd

此时,您可以通过运行以下命令测试FTP连接

$ ftp ip-address

指定ftp用户的用户名,然后提供密码。您应该得到如下所示的输出。

如何在CentOS 8 / RHEL 8上安装vsftpd(ftp服务器)

尽管我们已经建立了与vsftpd服务器的连接。连接不安全,发送的信息为纯文本格式,未加密。因此,我们需要采取额外的步骤来加密发送到服务器的通信。

步骤4)为vsftpd配置SSL / TLS

为了加密服务器和客户端系统之间的通信,我们需要生成TLS证书,然后配置服务器以使用它。

要生成证书,请运行以下命令:

$ sudo openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout /etc/vsftpd/vsftpd.pem -out /etc/vsftpd/vsftpd.pem

接下来是一系列提示,要求您提供一些详细信息,例如国家名称,州或省以及组织名称等。如图所示,相应地填写所有详细信息。

如何在CentOS 8 / RHEL 8上安装vsftpd(ftp服务器)

我们还需要告诉服务器证书文件的存储位置。因此,回到配置文件/etc/vsftpd/vsftpd.conf并指定证书文件的路径。

rsa_cert_file = / etc / vsftpd / vsftpd.pem 
rsa_private_key_file = / etc / vsftpd / vsftpd.pem

然后,指示服务器打开SSL。

ssl_enable =yes

保存并退出配置文件。要使以上更改生效,请重新启动vsftpd服务,

$ sudo systemctl restart vsftpd

步骤5)在防火墙中允许ftp服务器(vsftpd)端口

如果您正在运行防火墙,则需要允许这些显着端口”

  • 20 –允许FTP流量
  • 21 – FTP数据端口
  • 30000-31000 –允许与FTP服务器进行被动通信。

因此,运行以下命令:

$ sudo Firewall-cmd --permanent --add-port = 20-21 / tcp 
$ sudo Firewall-cmd --permanent --add-port = 30000-31000 / tcp

然后重新加载防火墙,以使更改生效。

$ sudo firewall-cmd --relo­ad

步骤6)测试您的vsftpd或FTP服务器

完成所有设置后,就该测试我们的连接了。在此示例中,我们使用一个称为FileZilla的FTP客户端,它是客户端和服务器系统的免费FTP客户端。它支持纯FTP和基于TLS的FTP,这是我们要测试的。

启动后,界面看起来如图所示。提供主机的IP地址(vsftpd),ftp用户的用户名和密码,然后单击“ 快速连接 ”按钮。

如何在CentOS 8 / RHEL 8上安装vsftpd(ftp服务器)

不久之后,将出现一个弹出窗口,显示FTP服务器的证书和会话详细信息。要继续连接,请单击“ 在以后的会话中始终信任此证书 ”,然后按Enter。

如何在CentOS 8 / RHEL 8上安装vsftpd(ftp服务器)

如果所有配置正确,那么您应该获得输入而不会出现任何问题,如图所示。在右下方窗格中,显示远程服务器的主目录。现在,您可以根据需要上载,下载和编辑文件。

如何在CentOS 8 / RHEL 8上安装vsftpd(ftp服务器)

关于在CentOS 8上安装vsftpd的主题到此结束。我们希望您现在能够轻松地设置自己的vsftpd(安全ftp)服务器。请务必与您的技术朋友分享,也请分享您的宝贵反馈和评论。



评论

{{ errors.content }}

Enter+Ctrl