什么是FTP?在Ubuntu上设置FTP服务器的步骤是什么?

2024-04-24    分类: 网站建设

在本文中,您将学习如何在 Ubuntu VPS上设置 FTP 服务器。我们将使用vsftpd服务器,它被广泛认为是类 UNIX 系统中最快和最安全的 FTP 服务器。

什么是 FTP?

FTP,或文件传输协议,是一种使用 TCP/IP 协议通过 Internet 连接在计算机之间共享文件的方法。它还利用客户端-服务器框架和SSL/TLS 安全性来确保安全可靠的数据传输。

这有点类似于HTTP(超文本传输​​协议)或SMTP(简单邮件传输协议)。不同之处在于,FTP 负责通过 Internet 传输文件,而 HTTP 和 SMTP 分别处理网页和电子邮件的传输。在开始之前,请记住我们将指导您在Ubuntu 18.04 上配置 FTP 服务器。因此,您需要确保您的 VPS 正在该特定操作系统上运行。

如何在 Ubuntu 上设置 FTP 服务器

本教程要求您知道如何通过 SSH 连接到服务器。如果您拥有Hostinger 的 VPS,登录详细信息可在hPanel 的服务器选项卡中找到。

步骤 1 – 安装 vsftpd 首先,在继续安装vsftpd之前,我们必须获取软件包更新 。首先,运行以下命令: sudo apt-get 更新

等待所有过程完成,您将在更新完成后立即看到确认信息。 完成后,使用以下命令 安装vsftpd守护进程: sudo apt-get 安装 vsftpd

系统将提示您一条确认消息,要求您键入Y并按Enter键以继续安装。 安装完成后,您应该备份原始文件,以便您可以从空白配置文件开始: sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.original

现在我们准备好配置防火墙了。 第 2 步 – 允许来自防火墙的 FTP 流量 为了允许 Ubuntu FTP 服务器通过互联网进行通信,它需要通过防火墙。但首先,让我们看看防火墙是否已经在您的机器上启用。只需运行此命令即可验证状态: sudo ufw 状态

如果您看到以下消息:

ufw:找不到命令

这意味着没有安装防火墙。您可以通过键入以下内容来安装和启用它:

sudo apt-get 安装 ufwsudo ufw 启用 如果它已经处于活动状态,您仍然需要确保允许 FTP 流量。为此,请一一执行以下命令: sudo ufw 允许 OpenSSHsudo ufw 允许 20/tcpsudo ufw 允许 21/tcpsudo ufw 允许 990/tcpsudo ufw 允许 40000:50000/tcp

这一系列命令会打开几个端口:

如果您仍然希望通过 SSH 访问您的服务器,则需要OpenSSH 。有时,此选项默认启用。 端口20和21用于 FTP 流量。 端口40000:50000将保留用于最终将在配置文件中设置的被动端口范围。 启用 TLS 时将使用端口990 。 现在让我们再看看状态: sudo ufw 状态

输出应如下所示:

状态:活跃采取行动从--------------OpenSSH 允许任何地方990/tcp 允许任何地方20/tcp 允许任何地方21/tcp 允许任何地方40000:50000/tcp 允许任何地方OpenSSH (v6) 允许任何地方 (v6)20/tcp (v6) 允许任何地方 (v6)21/tcp (v6) 允许任何地方 (v6)990/tcp (v6) 允许任何地方 (v6)40000:50000/tcp (v6) 允许任何地方 (v6) 第 3 步 – 创建用户目录 设置防火墙后,我们必须创建要使用 FTP 访问的用户。这是怎么做的: 须藤添加用户托管

请记住根据您自己的喜好更改用户名。 然后,输入用户密码并填写所有必需的详细信息。

理想情况下,出于安全目的,FTP 应限制在一个特定的目录中。这就是vsftpd使用chroot jails的原因,它默认将本地用户限制在他们的主目录中。
但是,由于vsftpd 的安全性,用户可能无法写入该目录。要解决此问题,我们不必从主文件夹中删除写入权限。相反,我们将创建一个充当chroot的 ftp 目录。它包含一个可写目录,负责保存所需的文件。 使用以下命令创建 FTP 文件夹: sudo mkdir /home/hostinger/ftp

然后,使用以下方法设置所有权:

sudo chown nobody:nogroup /home/hostinger/ftp

最后,删除写权限:

sudo chmod aw /home/hostinger/ftp

现在,使用以下命令来验证权限:

sudo ls -la /home/hostinger/ftp

输出应类似于:

共 8 个dr-xr-xr-x 2 nobody nogroup 4096 Oct 8 11:32 。drwxr-xr-x 3 hostinger hostinger 4096 Oct 8 11:32 .. 接下来,我们将创建文件存放目录并分配所有权: sudo mkdir /home/hostinger/ftp/文件sudo chown hostinger:hostinger /home/hostinger/ftp/文件

最后,在目录中添加一个测试文件,稍后我们测试所有内容时将使用该文件:

echo "vsftpd 示例文件" | sudo tee /home/hostinger/ftp/files/sample.txt 第 4 步 – 配置 vsftpd

下一步是配置 vsftpd 和我们的 FTP 访问。在此示例中,我们将允许单个用户使用本地 shell 帐户进行连接。为此所需的两个关键配置已在配置 ( vsftpd.conf ) 文件中设置。

首先,使用 nano 命令打开vsftpd配置文件。 须藤纳米 /etc/vsftpd.conf

验证内容是否具有与此类似的设置:

. . . # 允许匿名 FTP?(默认情况下禁用)。anonymous_enable=NO # # 取消注释以允许本地用户登录。local_enable=YES。. .

在同一个文件中,我们将删除#(取消注释)并确保启用write_enable。

. . . 写启用=是。. . 您还需要取消注释chroot以确保 FTP 用户仅访问允许目录中的文件。也将NO值更改为YES 。请记住,有两行是这样的,您必须取消对它们的注释。 . . . chroot_local_user=YES 。. . 您还应该将一些新值添加到文件底部。第一个是local_root 目录路径中的user_sub_token。它将允许配置与当前用户或随后添加的任何其他用户一起使用: user_sub_token=$USER local_root=/home/$USER/ftp 为确保有大量连接可用,我们将限制配置文件的端口数: pasv_min_port=40000 pasv_max_port=50000 在本教程中,我们打算根据具体情况允许访问。因此,我们将配置设置为仅向您已明确添加到列表中的用户授予访问权限: userlist_enable=YES userlist_file=/etc/vsftpd.userlist userlist_deny=NO

当您将userlist_deny 标志设置为NO时,只允许指定的用户访问。完成后,依次单击CTRL+X和Y进行保存,然后按 Enter确认文件更改。 最后,我们将创建一个用户列表并将用户添加到文件中: 回声“主机” | sudo tee -a /etc/vsftpd.userlist

通过运行以下命令验证用户确实处于活动状态:

cat /etc/vsftpd.userlist

输出应为“hostinger”,如以下屏幕截图所示: 使用以下命令重新启动守护程序以加载配置更改: sudo systemctl 重新启动 vsftpd 第 5 步 – 使 FTP 安全 默认情况下,FTP 不加密数据,因此我们将使用SSL/TLS证书来保护数据传输。第一步是我们需要为 Ubuntu FTP 服务器创建 SSL 证书。 sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem

–days标志使证书有效期为一年,我们在同一命令中包含了一个2048 位RSA私钥。 出现提示后,在提供的字段中输入相应的个人详细信息。 完成创建证书后,再次打开配置文件: 须藤纳米 /etc/vsftpd.conf

文件末尾应包含以rsa开头的两行。

# rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem# rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key

现在,我们将配置文件指向我们刚刚创建的证书。在前面几行的正下方添加以下目录:

rsa_cert_file=/etc/ssl/private/vsftpd.pemrsa_private_key_file=/etc/ssl/private/vsftpd.pem 接下来,我们将启用 SSL 并确保只有拥有有效 SSL 的客户才能联系我们。只需输入这一行: ssl_enable=YES

然后,添加以下行以禁止通过 SSL 的任何匿名连接:

allow_anon_ssl=否force_local_data_ssl=YESforce_local_logins_ssl=YES

使用以下命令将服务器配置为使用 TLS:

ssl_tlsv1=是ssl_sslv2=否ssl_sslv3=否 现在我们将更改两个选项。首先,禁用SSL 重用以防止 FTP 客户端崩溃。其次,我们将使用高度加密的密码套件,确保密钥长度等于或大于 128 位。 require_ssl_reuse=否ssl_ciphers=高

按CTRL+X后跟Y再次保存文件,然后按Enter。 让我们再次 重启vsftpd以应用新配置: sudo systemctl 重新启动 vsftpd

做得好!您现在已经在 Ubuntu VPS 上配置了 FTP 服务器以使用 SSL/TLS 协议。

第 6 步 – 测试与 FileZilla 的连接

如今,大多数 FTP 客户端都支持 TLS 加密配置。这是测试您的 Ubuntu FTP 服务器是否正常工作的好方法。为了测试连接,我们将使用FileZilla FTP 客户端。

首先,启动FileZilla并单击站点管理器图标。然后,在提示窗口中单击新建站点按钮以输入 Ubuntu FTP 服务器详细信息。
使用新创建的 Ubuntu FTP 服务器信息填写所有必填列。由于我们将其配置为使用 TLS,因此我们还可以选择Use explicit FTP over TLS选项。最终配置应如下所示:
准备就绪后,单击“连接”,将出现要求输入 FTP 用户密码的屏幕。之后,点击OK。 最后,您需要在 Ubuntu VPS 上验证 FTP 服务器的 SSL 证书。确认后,带有测试文件的根目录现在应该出现在您的屏幕上。

就这样!现在,您可以执行从计算机到 Ubuntu FTP 服务器的各种文件传输,反之亦然。

结论

拥有 Ubuntu FTP 服务器可以让您轻松地在 Ubuntu VPS/服务器和计算机之间共享文件。得益于 SSL/TLS 安全性和 TCP/IP 协议,它是一种安全可靠的数据传输方法。

网页题目:什么是FTP?在Ubuntu上设置FTP服务器的步骤是什么?
文章位置:https://www.cdcxhl.com/news15/325115.html

成都网站建设公司_创新互联,为您提供外贸网站建设自适应网站企业建站App开发服务器托管建站公司

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

成都app开发公司