使用FileZilla进行本机和虚拟机之间的文件传输

时间:2021-12-03 10:07:51

1. FTP简介

FTP 是File Transfer Protocol文件传输协议的英文简称,而中文简称为“文传协议”。用于Internet上的控制文件的双向传输。同时,它也是一个应用程序(Application)。基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同一种协议以传输文件。

TCP/IP协议中,FTP标准命令TCP端口号为21,Port方式数据端口为20。FTP的任务是从一台计算机将文件传送到另一台计算机,不受操作系统的限制。

FTP支持两种模式:Standard (PORT方式,主动方式),Passive (PASV,被动方式)。

Port模式

FTP 客户端首先和服务器的TCP 21端口建立连接,用来发送命令,客户端需要接收数据的时候在这个通道上发送PORT命令。PORT命令包含了客户端用什么端口接收数据。在传送数据的时候,服务器端通过自己的TCP 20端口连接至客户端的指定端口发送数据。FTP server必须和客户端建立一个新的连接用来传送数据。

Passive模式

建立控制通道和Standard模式类似,但建立连接后发送Pasv命令。服务器收到Pasv命令后,打开一个临时端口(端口号大于1023小于65535)并且通知客户端在这个端口上传送数据的请求,客户端连接FTP服务器此端口,然后FTP服务器将通过这个端口传送数据。

2. FileZilla简介

FileZilla是一个免费开源的FTP软件,分为客户端版本和服务器版本,具备所有的FTP软件功能。可控性、有条理的界面和管理多站点的简化方式使得Filezilla客户端版成为一个方便高效的FTP客户端工具,而FileZilla Server则是一个小巧并且可靠的支持FTP&SFTP的FTP服务器软件。

3. 安装并配置 FileZilla

3.1 安装FileZilla Server

1)我电脑本机装的是win7系统,虚拟机上装的是win10系统,在本机上装服务器版本,在虚拟机上装客户端版本。
使用FileZilla进行本机和虚拟机之间的文件传输

2)下载之后,右键单击安装包,单击“以管理员身份运行”,之后按照提示,一步一步完成安装。
使用FileZilla进行本机和虚拟机之间的文件传输

3.2 配置FileZilla Server

1)打开软件,单击File–>Connect to server,在弹出的对话框里输入主机名,端口号、密码,单击Connect。
使用FileZilla进行本机和虚拟机之间的文件传输

2)单击Edit–>Users,在General里设置用户、密码、最大连接量等。
使用FileZilla进行本机和虚拟机之间的文件传输

3)单击Edit–>Users,在Shared folders里添加文件夹,并在右边进行设置权限。Files里Read代表可下载文档,Write代表可上传文档,Delete代表删除。Directories里Creat代表可新增子资料夹,Delete代表可删除子资料夹,List代表可列出子资料夹中的文档 。也可以提前对Groups进行设置,与对Users的设置类似,这样的话就能在“Group membership”里选择从属的组,这样该用户将继承该组的所有属性/权限,不用再单独一一设置这些参数了。
使用FileZilla进行本机和虚拟机之间的文件传输

应当注意,要添加多个文件夹的话需要目录做虚拟设置。

4)对被动模式进行设置

刚打开软件时提醒警告处在NAT路由,需要被动模式登录,可通过如下设置消除

单击Edit–>Settings–>Passive mode settings,指定用户的端口范围,然后指定被动模式的IP地址。
使用FileZilla进行本机和虚拟机之间的文件传输

5)设置“FTP over TLS settings ”

单击Edit–>Settings–>FTP over TLS settings,按下图进行设置。
使用FileZilla进行本机和虚拟机之间的文件传输

至此,FileZilla Server的基本设置就完成并可以运行了。

3.3 安装FileZilla Client

虚拟机登录FileZilla官网上找到FileZilla Client下载,安装步骤与上述类似,按照提示一步一步完成安装,客户端并不需要进行配置。

4. 连接FileZilla 服务器和客户端

1)在虚拟机里打开客户端,单击左上角的图标。
使用FileZilla进行本机和虚拟机之间的文件传输

2)新建站点,填好主机IP、端口号、密码等信息后,点击连接。
使用FileZilla进行本机和虚拟机之间的文件传输

3)连接成功,能实现本机与虚拟机之间的任意文件上传和下载。
使用FileZilla进行本机和虚拟机之间的文件传输