通过FTP进行文件操作
配置流程
使用FTP协议存在安全风险,建议使用SFTP V2、SCP或FTPS方式进行文件操作。
通过FTP进行文件操作的配置流程如表7-6所示。
操作步骤
- 配置FTP服务器功能及参数表7-8 配置FTP服务器功能及参数
操作步骤
命令
说明
进入系统视图
system-view
-
(可选)指定FTP服务器端口号
ftp [ ipv6 ] server port port-number
缺省情况下,FTP服务器端口号是21。
如果配置了新的端口号,FTP服务器端先断开当前已经建立的所有FTP连接,然后使用新的端口号开始尝试连接。这样可以有效防止攻击者对FTP服务标准端口的访问。
使能FTP服务器
ftp [ ipv6 ] server enable
缺省情况下,设备的FTP服务器功能是关闭的。
(可选)指定FTP服务器的源地址
ftp server-source { -a source-ip-address | -i interface-type interface-number }
指定FTP服务器的源地址,实现对设备进出报文的过滤,保证安全性。
配置了服务器的源地址后,登录服务器时,所输入的服务器地址必须与该命令中配置的一致,否则无法成功登录。
(可选)配置FTP连接空闲时间
ftp [ ipv6 ] timeout minutes
缺省情况下,连接空闲时间为10分钟。
在设定的时间内,如果FTP连接始终处于空闲状态时,系统将自动断开FTP连接。
如果变更端口号前FTP服务已经启动,则不能变更成功。需执行undo ftp [ ipv6 ] server命令关闭FTP服务,再进行端口号变更。
当客户端与设备之间的文件操作结束后,请执行undo ftp [ ipv6 ] server命令,及时关闭FTP服务器功能,从而保证设备的安全。
- 配置FTP本地用户
当用户通过FTP进行文件操作时,需要在作为FTP服务器的设备上配置本地用户名及口令、指定用户的服务类型以及可以访问的目录,否则用户将无法通过FTP访问设备。
表7-9 配置FTP本地用户操作步骤
命令
说明
进入系统视图
system-view
-
进入AAA视图
aaa
-
配置本地用户名和密码
local-user user-name password irreversible-cipher password
-
配置本地用户级别
local-user user-name privilege level level
说明:必须将用户级别配置在3级或3级以上,否则FTP连接将无法成功。
配置本地用户的服务类型为FTP
local-user user-name service-type ftp
缺省情况下,本地用户可以使用所有的接入类型。
配置FTP用户的授权目录
local-user user-name ftp-directory directory
缺省情况下,本地用户的FTP目录为空。
当有多个FTP用户且有相同的授权目录时,可以执行set default ftp-directory directory命令,为FTP用户配置缺省工作目录。此时,不需要通过local-user user-name ftp-directory directory命令为每个用户配置授权目录。
- (可选)配置FTP访问控制
ACL是一系列有顺序的规则组的集合,这些规则根据数据包的源地址、目的地址、端口号等来描述。ACL通过规则对数据包进行分类,这些规则应用到路由设备,路由设备根据这些规则判断哪些数据包可以接收,哪些数据包需要拒绝。
用户可以配置FTP访问控制列表,实现只允许指定的客户端登录到设备,以提高安全性。
ACL规则:当ACL的rule配置为permit时,则允许匹配该rule规则的其他设备与本设备建立FTP连接。
当ACL的rule配置为deny时,则拒绝匹配该rule规则的其他设备与本设备建立FTP连接。
当ACL配置了rule,但来自其他设备的报文没有匹配该rule规则时,则拒绝其他设备与本设备建立FTP连接。
当ACL未配置rule时,则允许任何其他设备与本设备建立FTP连接。
表7-10 (可选)配置FTP访问控制操作步骤
命令
说明
进入系统视图
system-view
-
进入ACL视图
acl [ number ] acl-number
-
配置ACL规则
rule [ rule-id ] { deny | permit } [ source { source-address source-wildcard | any } | fragment | logging | time-range time-name ] *
-
退回到系统视图
quit
-
配置FTP基本访问控制列表
ftp [ ipv6 ] acl acl-number
-
- 用户通过FTP访问设备
从终端通过FTP访问设备,可以选择使用Windows命令行提示符或第三方软件。此处以Windows命令行提示符为例进行配置。
执行Windows命令ftp ip-address,通过FTP方式访问设备。
此处输入的IP地址为设备上配置的IP地址,且与用户终端IP地址路由可达。
根据提示输入用户名和口令,按Enter键,当出现FTP客户端视图的命令行提示符,如ftp>,此时用户进入了FTP服务器的工作目录。(以下显示信息仅为示意)
C:\Documents and Settings\Administrator> ftp 192.168.150.208 连接到 192.168.150.208。 220 FTP service ready. 用户(192.168.150.208:(none)):huawei 331 Password required for huawei. 密码: 230 User logged in. ftp>
- 通过FTP命令进行文件操作
用户访问FTP服务器后,可以通过FTP命令进行文件操作,包括目录操作、文件操作、配置文件传输方式、查看FTP命令在线帮助等。
用户的操作权限受限于服务器上对该用户的权限设置。
由于文件系统对根目录下的文件个数有限制,当根目录中文件个数大于50个时,继续在根目录中创建文件可能会失败。
以下各操作没有严格顺序,可根据需求选择一种或多种操作项目。
表7-11 通过FTP命令进行文件操作操作项目 命令 说明 改变服务器上的工作路径 cd remote-directory - 改变服务器的工作路径到上一级目录 cdup - 显示服务器工作路径 pwd - 显示或者改变客户端的工作路径 lcd [ local-directory ] 与pwd不同的是,lcd命令执行后显示的是客户端的本地工作路径,而pwd显示的则是远端服务器的工作路径。
在服务器上创建目录 mkdir remote-directory 创建的目录可以为字母和数字等的组合,但不可以为<、>、?、\、:等特殊字符。
在服务器上删除目录 rmdir remote-directory - 显示服务器上指定目录或文件的信息 dir/ls [ remote-filename [ local-filename ] ] - ls命令只能显示出目录/文件的名称,而dir命令可以查看目录/文件的详细信息,如大小,创建日期等。
- 如果指定远程文件时没有指定路径名称,那么系统将在用户的授权目录下搜索指定的文件。
删除服务器上指定文件 delete remote-filename - 上传单个或多个文件 put local-filename [ remote-filename ] 或
mput local-filenames
- put命令是上传单个文件。
- mput命令是上传多个文件。
下载单个或多个文件 get remote-filename [ local-filename ] 或
mget remote-filenames
- get命令是下载单个文件。
- mget命令是下载多个文件。
配置传输文件的数据类型为ASCII模式或二进制模式 ascii 或
binary二选一
缺省情况下,文件传输方式为ASCII模式。
传输文本文件使用ASCII方式,传输程序、系统软件、数据库文件等使用二进制模式。
配置文件传输方式为被动方式或主动方式 passive 或
undo passive二选一
缺省情况下,数据传输方式是主动方式。
查看FTP命令的在线帮助 remotehelp [ command ] - 使能系统的提示功能 prompt 缺省情况下,不使能信息提示。 打开verbose开关 verbose 如果打开verbose开关,将显示所有FTP响应,包括FTP协议信息,以及FTP服务器返回的详细信息。
- (可选)更改登录用户
设备可以在不退出FTP客户端视图的情况下,以其他的用户名登录到FTP服务器。所建立的FTP连接,与执行ftp命令建立的FTP连接完全相同。
操作步骤 命令 说明 FTP客户端视图下,更改当前的登录用户
user user-name [ password ] 更改当前的登录用户后,原用户与服务器的连接将断开。
- 断开与FTP服务器的连接
用户可以在FTP客户端视图中选择不同的命令断开与FTP服务器的连接。
操作步骤 命令 说明 终止与服务器的连接,并退回到用户视图
bye 或 quit 二选一。 终止与服务器的连接,并退回到FTP客户端视图
close 或 disconnect