通过 6 个简单步骤在 Ubuntu VPS 上安装 FTP 服务器

本文是一份完整指南,帮助您在 Ubuntu VPS 上搭建 FTP 服务器。我们将带您完成主要步骤,确保您正确配置所有设置并看到最终结果。

本指南将重点介绍 vsftpd 服务器,它是安装 FTP 最快、最准确的工具之一。如果您使用类 UNIX 系统,本指南将解答您的疑问,并逐步引导您完成整个过程。

首先了解 FTP

FTP 即文件传输协议(File Transfer Protocol)。它有什么作用?它借助 TCP/IP 协议在网络上传输文件,是一种便捷的文件共享方式。不过,它并不局限于上述协议。FTP 还与客户端框架协议以及广为人知的安全功能 SSL/TLS 配合使用,以实现安全连接。

在某些情况下,您可以将 FTP 与 HTTP 或 SMTP 进行比较。这两个术语分别代表超文本传输协议和简单邮件传输协议。它们有什么区别?FTP 负责文件传输,而 HTTP 负责网页,SMTP 负责电子邮件。

在开始本指南之前,您需要做哪些准备工作吗?最主要的是确保相应的 VPS 支持您当前的操作系统,因为本指南以 Ubuntu 18.04 为例。现在,事不宜迟,让我们直接进入具体步骤。

如何通过 6 个简单步骤安装 FTP 服务器:完整详解指南

如果您知道如何使用 SSH 连接服务器,欢迎继续阅读。但是,如果您对这一过程还有疑问,最好先了解一下基础知识,提前学会如何操作这些步骤。

认识 vsftpd

  1. 作为第一步,安装 vsftpd 需要做一些准备工作。在进行任何后续步骤之前,您需要先更新软件包。如何操作?请务必先运行以下命令:
  • sudo apt-get update

当进程完成、更新结束后,您将看到确认信息。

  1. 下一步是运行以下安装命令:
  • sudo apt-get install vsftpd

您将看到确认提示。系统会要求您输入 Y 并按 Enter 键,以开始安装过程。

  1. 现在,安装过程应该已经完成。完成后,您的首要任务是备份初始文件。我们需要从一个空的配置文件开始。以下命令会派上用场:
  • sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.original

完成最初的步骤后,就该开始配置防火墙了。

确保防火墙允许 FTP 流量

  1. 如果您希望顺利完成整个过程,让 Ubuntu FTP 能够在线传输文件,防火墙是必不可少的一步。但第一步稍有不同。您需要确保机器上的防火墙已可靠启用。这可以通过一条简单的命令完成。运行它,您将看到当前状态:
  • sudo ufw status

如何判断防火墙是否已开启?如果出现 "ufw: command not found" 这条消息,说明机器上没有安装防火墙。要解决这个问题,请输入以下命令:

  • sudo apt-get install ufw
  • sudo ufw enable

这将帮助您轻松启用防火墙。

  1. 如果您看到防火墙已启用,仍有一些任务需要处理。您需要检查流量是否被允许。为此,请依次输入以下命令:
  • sudo ufw allow OpenSSH
  • sudo ufw allow 20/tcp
  • sudo ufw allow 21/tcp
  • sudo ufw allow 990/tcp
  • sudo ufw allow 40000:50000/tcp

这将开放一些端口,例如 OpenSSH、端口 20 和 21、端口 40000:50000 以及端口 990。

3. 最后一步是使用 "sudo ufw status" 命令检查状态。请务必仔细查看并核对输出结果。它应该如下所示:

创建便捷的用户目录

  1. 设置好防火墙后,下一步最好创建一个用户,该用户将使用 FTP 访问。借助 "sudo adduser bluevps" 命令,您可以添加用户,但请务必根据自己的需要修改用户名。
  2. 接下来的重要一步是为该用户输入所有详细信息和密码。为了维护安全规范,FTP 应只由一个用户目录管理。常见的做法是创建一个 FTP 目录,由其中可写的结构负责存放文件。
  3. 您的任务是逐一执行以下列表中说明的命令。
  • sudo mkdir /home/bluevps/ftp
  • sudo chown nobody:nogroup /home/bluevps/ftp
  • sudo chmod a-w /home/bluevps/ftp
  • sudo ls -la /home/bluevps/ftp

首先,创建文件夹并设置所有权。然后,移除写入权限,并使用最后一条命令验证权限。

4. 最后一步是创建目录并设置所有权。

配置 vsftpd

现在是时候配置 vsftpd,以确保 FTP 访问顺畅。以下命令集将使用户能够通过本地 shell 获得访问权限。请查看说明并按照以下步骤操作。

  1. 首先使用 "sudo nano /etc/vsftpd.conf" 命令打开配置文件并检查内容,使其符合所需的系统设置。在同一文件中,您还应通过 ". . . write_enable=YES . . ." 启用写入功能。
  2. 下一步是取消 chroot 的注释,并将 NO 值改为相反的值。
  3. 接下来的任务之一是在文档底部添加新的值。"user_sub_token" 值是列表中的第一个。您将让用户使用以下配置:"user_sub_token=$USER local_root=/home/$USER/ftp"。
  4. 现在限制端口数量。这有助于确保连接数量足够:"pasv_min_port=40000 pasv_max_port=50000"。
  5. 为了安全起见,需要进行配置,只允许有限的用户访问,也就是只允许添加到列表中的用户。这可以通过将 userlist_deny 标志设置为 NO 来实现。现在您可以保存更改。
  6. 这里的最后几步之一是创建用户列表,使用 "echo "bluevps" | sudo tee -a /etc/vsftpd.userlist" 命令将所有详细信息添加到文件中,然后使用以下命令组合验证活跃用户:"cat /etc/vsftpd.userlist"。

您需要完成的最后一步是重启守护进程,使所有配置生效。

加强安全性

  1. 在默认情况下,FTP 本身无法加密数据。此时,SSL/TLS 证书就派上了用场,它可以确保数据安全。创建 SSL 证书是首要步骤。
  • sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem

该命令包含了后续步骤所需的全部要素。随后您将看到输入个人信息的提示,并有相应的字段供您填写。

  1. 证书创建完成后,打开 "sudo nano /etc/vsftpd.conf" 文件。文件末尾应有以 #rsa 开头的行。请检查是否有两行包含此元素。
  2. 接下来的任务是启用 SSL,并限制对活动 SSL 的访问,以便只有您可以管理它。输入以下几行,它们将确保安全性和匿名性。
  • ssl_enable=YES
  • allow_anon_ssl=NO
  • force_local_data_ssl=YES
  • force_local_logins_ssl=YES
  1. 完成后,就该禁用 SSL 重用了。"require_ssl_reuse=NO / ssl_ciphers=HIGH" 将确保合适的密钥长度,并防止客户端出现故障。最后的组合键之一是按 CTRL + X,然后按 Y 再按 Enter。
  2. 最后一步是使用以下命令重启 vsftpd,使新配置生效:"sudo systemctl restart vsftpd"。

全面测试

如今,大多数客户端都支持 TLS 配置。这种方式可以帮助检查一切是否正常运行。您可以借助 FileZilla FTP 客户端亲自测试连接。具体操作如下:

  1. 首先启动 FileZilla,点击带红色边框的图标。请务必点击“新站点”按钮以输入服务器详细信息。
  2. 现在,您需要使用刚刚创建的 Ubuntu 服务器信息填写相应栏目中的内容。主要配置侧重于 TLS,因此现在可以启用“要求显式的 FTP over TLS”功能。
  3. 接着点击“连接”按钮,填写密码字段,然后点击“确定”按钮。
  4. 最后一步是在 Ubuntu VPS 上验证 FTP SSL 证书。确认所有内容后,您应该会在屏幕上看到测试文件的根目录,其中会有一个测试文件。

就是这样!现在您可以通过互联网将文件从您的源传输到 Ubuntu FTP 服务器。这个过程可能看起来有点复杂,但清晰的命令应该会对您有很大帮助。

结论

从您的计算资源向 Ubuntu FTP 服务器共享各种类型的文件非常简单。它使用 SSL/TLS 和 TCP/IP 安全协议,使这种方式既安全又可靠。

本教程介绍了完成配置的 6 个简单步骤。

  1. 首先,安装 vsftpd 并备份初始文件。
  2. 然后,确保 FTP 连接能够通过防火墙访问。
  3. 下一步是创建具有相应访问权限的用户目录。
  4. 完成后,就该配置 vsftpd 了。
  5. 接着,为 FTP 服务器加强安全保护。
  6. 最后一步是在 FileZilla 上测试一切。

现在您应该对 FTP 服务器的安装有了更多了解,祝您一切顺利!

blog