通过 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
- 作为第一步,安装 vsftpd 需要做一些准备工作。在进行任何后续步骤之前,您需要先更新软件包。如何操作?请务必先运行以下命令:
- sudo apt-get update
当进程完成、更新结束后,您将看到确认信息。
- 下一步是运行以下安装命令:
- sudo apt-get install vsftpd
您将看到确认提示。系统会要求您输入 Y 并按 Enter 键,以开始安装过程。
- 现在,安装过程应该已经完成。完成后,您的首要任务是备份初始文件。我们需要从一个空的配置文件开始。以下命令会派上用场:
- sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.original
完成最初的步骤后,就该开始配置防火墙了。
确保防火墙允许 FTP 流量
- 如果您希望顺利完成整个过程,让 Ubuntu FTP 能够在线传输文件,防火墙是必不可少的一步。但第一步稍有不同。您需要确保机器上的防火墙已可靠启用。这可以通过一条简单的命令完成。运行它,您将看到当前状态:
- sudo ufw status
如何判断防火墙是否已开启?如果出现 "ufw: command not found" 这条消息,说明机器上没有安装防火墙。要解决这个问题,请输入以下命令:
- sudo apt-get install ufw
- sudo ufw enable
这将帮助您轻松启用防火墙。
- 如果您看到防火墙已启用,仍有一些任务需要处理。您需要检查流量是否被允许。为此,请依次输入以下命令:
- 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" 命令检查状态。请务必仔细查看并核对输出结果。它应该如下所示:
创建便捷的用户目录
- 设置好防火墙后,下一步最好创建一个用户,该用户将使用 FTP 访问。借助 "sudo adduser bluevps" 命令,您可以添加用户,但请务必根据自己的需要修改用户名。
- 接下来的重要一步是为该用户输入所有详细信息和密码。为了维护安全规范,FTP 应只由一个用户目录管理。常见的做法是创建一个 FTP 目录,由其中可写的结构负责存放文件。
- 您的任务是逐一执行以下列表中说明的命令。
- 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 获得访问权限。请查看说明并按照以下步骤操作。
- 首先使用 "sudo nano /etc/vsftpd.conf" 命令打开配置文件并检查内容,使其符合所需的系统设置。在同一文件中,您还应通过 ". . . write_enable=YES . . ." 启用写入功能。
- 下一步是取消 chroot 的注释,并将 NO 值改为相反的值。
- 接下来的任务之一是在文档底部添加新的值。"user_sub_token" 值是列表中的第一个。您将让用户使用以下配置:"user_sub_token=$USER local_root=/home/$USER/ftp"。
- 现在限制端口数量。这有助于确保连接数量足够:"pasv_min_port=40000 pasv_max_port=50000"。
- 为了安全起见,需要进行配置,只允许有限的用户访问,也就是只允许添加到列表中的用户。这可以通过将 userlist_deny 标志设置为 NO 来实现。现在您可以保存更改。
- 这里的最后几步之一是创建用户列表,使用 "echo "bluevps" | sudo tee -a /etc/vsftpd.userlist" 命令将所有详细信息添加到文件中,然后使用以下命令组合验证活跃用户:"cat /etc/vsftpd.userlist"。
您需要完成的最后一步是重启守护进程,使所有配置生效。
加强安全性
- 在默认情况下,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
该命令包含了后续步骤所需的全部要素。随后您将看到输入个人信息的提示,并有相应的字段供您填写。
- 证书创建完成后,打开 "sudo nano /etc/vsftpd.conf" 文件。文件末尾应有以 #rsa 开头的行。请检查是否有两行包含此元素。
- 接下来的任务是启用 SSL,并限制对活动 SSL 的访问,以便只有您可以管理它。输入以下几行,它们将确保安全性和匿名性。
- ssl_enable=YES
- allow_anon_ssl=NO
- force_local_data_ssl=YES
- force_local_logins_ssl=YES
- 完成后,就该禁用 SSL 重用了。"require_ssl_reuse=NO / ssl_ciphers=HIGH" 将确保合适的密钥长度,并防止客户端出现故障。最后的组合键之一是按 CTRL + X,然后按 Y 再按 Enter。
- 最后一步是使用以下命令重启 vsftpd,使新配置生效:"sudo systemctl restart vsftpd"。
全面测试
如今,大多数客户端都支持 TLS 配置。这种方式可以帮助检查一切是否正常运行。您可以借助 FileZilla FTP 客户端亲自测试连接。具体操作如下:
- 首先启动 FileZilla,点击带红色边框的图标。请务必点击“新站点”按钮以输入服务器详细信息。
- 现在,您需要使用刚刚创建的 Ubuntu 服务器信息填写相应栏目中的内容。主要配置侧重于 TLS,因此现在可以启用“要求显式的 FTP over TLS”功能。
- 接着点击“连接”按钮,填写密码字段,然后点击“确定”按钮。
- 最后一步是在 Ubuntu VPS 上验证 FTP SSL 证书。确认所有内容后,您应该会在屏幕上看到测试文件的根目录,其中会有一个测试文件。
就是这样!现在您可以通过互联网将文件从您的源传输到 Ubuntu FTP 服务器。这个过程可能看起来有点复杂,但清晰的命令应该会对您有很大帮助。
结论
从您的计算资源向 Ubuntu FTP 服务器共享各种类型的文件非常简单。它使用 SSL/TLS 和 TCP/IP 安全协议,使这种方式既安全又可靠。
本教程介绍了完成配置的 6 个简单步骤。
- 首先,安装 vsftpd 并备份初始文件。
- 然后,确保 FTP 连接能够通过防火墙访问。
- 下一步是创建具有相应访问权限的用户目录。
- 完成后,就该配置 vsftpd 了。
- 接着,为 FTP 服务器加强安全保护。
- 最后一步是在 FileZilla 上测试一切。
现在您应该对 FTP 服务器的安装有了更多了解,祝您一切顺利!
blog