文件传输协议或 FTP 是一种网络协议,可让您在网络上的远程系统和计算机之间传输文件。FTP 所基于的客户端-服务器模型利用远程系统和您的计算机之间的数据和控制的单独连接。
如果您想在 CentOS 8 远程服务器上设置 FTP 服务器,请继续阅读本指南!
对于基于 Linux 的系统,有许多可用的开源 FTP 服务器。但是,今天,我们将指导您如何安装其中最常用的一种。那就是 VSFTPD – 代表:非常安全的 FTP 守护程序。
VSFTPD 软件通过 SSL 进行加密传输;因此,它是安全和快速的。
让我们从安装过程开始:
步骤 1. 安装 VSFTPD
您无需为此步骤下载任何内容,因为 VSFTPD 默认位于 CentOS 存储库中。
运行以下命令进行安装:
sudo dnf install vsftpd
步骤 2. 启用 VSFTPD
安装包后,我们需要启动服务并使其在系统启动时运行。
运行以下命令:
sudo systemctl enable vsftpd –now
您可以通过执行以下命令来验证 VSFTPD 的状态:
sudo systemctl status vsftpd
步骤 3. 配置 VSFTPD
现在 VSFTPD 已安装并运行,我们需要针对我们的用例更改其配置文件。
配置文件存储在 /etc/vsftpd/vsftpd.conf
使用以下命令打开文件:
sudo nano /etc/vsftpd/vsftpd.conf
我们需要对该文件进行一些更改。
- 允许本地访问:
在文件中找到以下几行并将它们与这些匹配:
“anonymous_enable=NO
local_enable=YES”
- 启用写访问:
在文件中找到以下几行并将它们与这些匹配:
“write_enable=YES”
- 放置根限制
在文件中找到以下几行并将它们与这些匹配:
“chroot_local_user=YES”
- 指定端口范围
我们需要设置被动 FTP 连接可以使用的端口范围。我们可以通过在配置文件中添加以下几行来做到这一点:
“pasv_min_port=30000
pasv_max_port=31000”
步骤 4. 为 FTP 连接设置 SSL
VSFTPD 通过 SSL 连接工作,我们需要为此配置一个证书。该证书可以由受信任的 CA 签名,也可以是自签名的。
以下命令将向您展示如何使用 2048 位私钥创建自签名证书:
sudo openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout /etc/vsftpd/vsftpd.pem -out /etc/vsftpd/vsftpd.pem
现在,再次打开 VSFTPD 的配置文件并将其与以下行进行匹配:
“rsa_cert_file=/etc/vsftpd/vsftpd.pem
rsa_private_key_file=/etc/vsftpd/vsftpd.pem
ssl_enable=YES”
步骤 5. 重启 VSFTPD 服务
现在,我们完成了 FTP 服务器和 SSL 连接的配置过程。
使用以下命令重新启动 VSFTPD 服务器:
sudo systemctl restart vsftpd
步骤 6. 配置防火墙
一切设置完毕后,我们需要配置防火墙以允许 FTP 连接。如果您在服务器上禁用了 firewalld/iptables,则可以跳过此步骤。
否则,可以使用以下命令完成:
sudo firewall-cmd –permanent –add-port=20-21/tcp
sudo firewall-cmd –permanent –add-port=30000-31000/tcp
firewall-cmd –reload