如何在Ubuntu中使用命令行使用ftp

时间:2020-02-23 14:39:05  来源:igfitidea点击:

filetransferptolecol或者ftp它是用于在计算机之间移动文件的协议。
FTP使用客户端/服务器模型。
服务器始终侦听和等待其他远程客户端的FTP请求。
当服务器接收到请求时,它建立连接并处理登录。

在本教程中,我们将介绍安装FTP服务器,并将向我们展示如何上传和下载单个文件和多个文件的示例。

在Ubuntu上安装FTP

在开始FTP的安装过程之前,我们需要确保系统使用以下命令是最新的:

sudo apt update
sudo apt upgrade

接下来,让我们安装FTP服务器。

步骤1.使用以下命令安装VSFTPD包。

sudo apt-get install vsftpd

在Ubuntu上安装VSFTPD包

步骤2.检查VSFTPD状态。

sudo service vsftpd status

检查VSFTPD服务状态

我们可以从上面的屏幕截图看,FTP服务器处于活动状态并成功运行。

步骤3.如有需要在系统启动时自动运行VSFTPD服务,我们可以使用命令:

sudo service vsftpd enable

现在让我们走到下一节。

配置防火墙

安装所需的FTP服务器包后,我们需要在防火墙上执行更多配置。

步骤1.其中一个基本配置是为SSH添加规则,这将阻止我们被服务器锁定。

sudo ufw allow ssh

正如我们所能,以前命令的输出将是如下屏幕截图:

为ssh添加规则

步骤2.现在让我们打开20和21用于FTP的端口。

sudo ufw allow 20/tcp

上一个命令的输出应该是下面的屏幕截图:

为端口20添加规则

sudo ufw allow 21/tcp

我们可以在下面的输出中找到已添加的规则:

为端口添加规则21

步骤3.还允许打开被动FTP的端口。

sudo ufw allow 40000:50000/tcp

添加无源FTP端口的规则

步骤4.现在让我们启用防火墙如果尚未启用。

sudo ufw enable

启用防火墙

要确保已成功添加所有先前的规则,可以通过运行以下命令查看防火墙状态:

sudo ufw status

配置VSFTPD配置文件

通过编辑在"/etc/vsftpd.conf"中找到的VSFTPD配置文件来完成其他一些配置需要完成。

步骤1.首先和在编辑VSFTPD配置文件之前,我们需要从此配置文件中备份备份。

sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.backup-copy

步骤2.使用我们喜欢的编辑器打开VSFTPD配置文件;其中我们将使用VI编辑器。

sudo vi /etc/vsftpd.conf

步骤3.打开配置文件后,可以搜索以下设置,取消注释它们并确保它们具有正确的值。

write_enable=YES --> Allow the FTP users to write files to the FTP server.
chroot_local_user=YES --> Prevent the FTP users from browsing outside their own home directory.
local_enable=YES --> Allow local users to login through FTP.
local_umask=022 --> Give the correct permissions to the uploaded files/directories.

VSFTPD配置文件中有很多设置可以检查它们并决定哪个最适合我们。

步骤4.编辑VSFTPD配置文件后,保存并退出。

步骤5.现在我们需要重新启动VSFTPD服务以启用所有以前的更改。

sudo service vsftpd restart

测试FTP服务器

要测试FTP服务器,我们需要使用大部分Linux系统上安装的FTP客户端从另一台计算机连接。
如果未安装FTP客户端,则可以使用以下命令安装它:

sudo apt-get install ftp

步骤1.从客户端计算机,连接到FTP服务器。

ftp 192.168.1.5

上述IP是FTP服务器机器IP。

连接到远程FTP服务器

当我们尝试登录FTP服务器时,我们可以从上一个屏幕截图看,默认情况下,它建议我们可以用来登录的本地用户。
输入用户名和密码后,我们将获得成功的登录信息。

步骤2.现在让我们尝试一些命令,检查当前目录。

pwd

检查当前的工作目录

正如我们可以从以前的输出看,"/"是指在我们的案例中登录的本地用户的主目录是"Hendadel"。

列出当前目录的内容。

ls

LS命令的示例输出

步骤3.从FTP服务器计算机,尝试创建目录并其中创建一些文件,如下屏幕截图。

创建了一个名为ftpdir的目录

步骤4.从FTP客户端计算机移动到新创建的目录并列出其内容以将其下载到客户端计算机上。

转到FTPDIR下载列出的文件

步骤5.现在让我们下载一个文件。

get download1

从远程FTP服务器下载单个文件

我们可以从上一个屏幕截图看,该文件已成功下载。
我们可以在客户端主目录中找到客户机的计算机中的下载文件,如下所示。

检查下载的文件

步骤6.从FTP服务器下载多个文件。

mget download*

步骤7.从客户端FTP计算机,当我们连接到FTP服务器时,创建像下面的屏幕截图的目录。

创建目录以将文件上传到FTP服务器

从当前目录移动到新创建的目录。

从FTP服务器移动到UploadDir

步骤8.现在让我们将一个文件上传到FTP服务器。

put upload1

步骤9.将多个文件上传到FTP服务器。

mput upload*