HCIA速通-网络工程师-5-传输协议(SSH部分转载)

特辑专属BGM-Hacknet原声集

FTP

工作原理

FTP文件传输协议(File Transfer Protocol),用于Internet上的控制文件的双向传输,是一个应用程序。工作在TCP/IP协议族的应用层,其传输层协议是TCP协议,目的在于提高文件传输的共享性和可靠性,是基于客户/服务器模式工作的。

1.启动FTP
客户通过FTP客户端软件,发起FTP交互式命令,告诉服务器,服务器上的FTP服务会接收到这个命令,并解析发来命令,然后发出回复信息,客户端对服务器说:“我想和你聊会天,可以吗?”

2.建立控制连接
客户端TCP层会根据服务器的IP地址,向服务器提供FTP服务的21端口发出主动建立连接的请求,服务器接收到请求后,经过三次握手,客户端与服务器端就建立了一个TCP连接,就好比是我们在A地和B地之间传输货物,首先应该建立一条运送货物的通道。这个TCP连接称为控制连接,用户发出的FTP命令和服务器的回应都是依靠该连接来传送的,在用户退出前一直存在。

3.建立数据连接,并进行文件传输
到目前为止,客户端和服务器端已经建立了聊天的通道,聊天过程中,对方觉得很投机,想互赠礼物(将客户端和服务器端进行文件的传输比喻为互赠礼物)怎么办,这个时候我们就需要一条通道来进行礼物的传输(将数据连接比喻为数据连接),那么是如何赠送礼物的?
(1)客户端通过控制连接发送一个上传文件的命令,会自己分配一个临时的TCP端口号。
(2)客户端通过控制连接向服务器发送一个命令告诉服务器自己的IP地址和临时端口号,然后发送一条上传文件的命令。(就好客户端要赠送礼物给服务器时,不只发送一个送礼物的命令,在这之前还要发送一条自我介绍的命令,即IP地址和端口号,来告诉服务器和他聊天的是哪一个客户)
(3)服务器接收到客户端的IP地址和临时端口号后,以这个IP地址和端口号为目标,使用服务器上的20端口(数据端口),向客户端发出主动建立连接的请求。
(4)客户端收到请求后,通过三次握手后就与服务器之间建立了另外一条TCP连接数据连接(好比礼物传输的通道)。
(5)客户端在自己的文件系统中选择要上传(赠送礼物)的文件。
(6)客户端将文件写入到文件传输的进程中(即网络流中)。
(7)文件传输完成后,由服务器主动关闭该数据的连接。

4.关闭FTP
当用户退出FTP时,客户端发送退出命令,之后控制连接被关闭,FTP服务结束。

主动模式

FTP客户端从任意的非特殊的端口(N > 1023)连入到FTP服务器的命令端口–21端口。然后客户端在N+1(N+1 >= 1024)端口监听,并且通过N+1(N+1 >= 1024)端口发送命令给FTP服务器。服务器会反过来连接用户本地指定的数据端口,比如20端口。

主动模式的FTP的 主要问题实际上落在客户端。FTP 的客户端并不会主动连接到服务器的数据端口,而是是告诉服务器它正在监听哪个端口,然后服务器发起连接到客户端上指定的端口。但是,这样的连接有时候会被客户端的防火墙阻止

被动模式

为了解决服务器主动发起到客户端连接会被阻止的问题,另一种更完善的工作模式出现了,它就是 FTP 的被动模式,缩写作 PASV,它工作的前提是客户端明确告知 FTP 服务器它使用被动模式。

在被动模式的 FTP 中,客户端启动到服务器的两个连接,解决了防火墙阻止从服务器到客户端的传入数据端口连接的问题。FTP 连接建立后,客户端在本地打开两个随机的非系统端口 N 和 N + 1(N > 1023)。第一个端口连接服务器上的 21 端口,但是客户端这次将会发出 PASV 命令,也就是不允许服务器连接回其数据端口。这样,服务器随后会打开一个随机的非系统端口 P (P > 1023),并将 P 发送给客户端作为 PASV 命令的响应。然后客户端启动从端口 N+1 到端口 P 的连接来传输数据。

FTP传输模式

路由配置FTP

配置用户名密码,服务类型 ftp目录 级别

FTP Client

Telnet

配置

Password认证

CLlient

AAA认证

1
2
3
[Huawei]user-interface vty 0 4
[Huawei-ui-vty0-4]authentication-mode aaa
[HUAWEI-ui-vty0-4] protocol inbound telnet //配置VTY用户界面支持的协议为Telnet

创建用户

1
2
3
4
5
[HUAWEI] aaa
[HUAWEI-aaa] local-user user1 password cipher Huawei@1234 //创建本地用户user1并配置密码
[HUAWEI-aaa] local-user user1 service-type telnet //配置本地用户user1的接入类型为Telnet,该用户只能使用Telnet方式登录
[HUAWEI-aaa] local-user user1 privilege level 15 //配置本地用户user1的用户级别为15,该用户登录后可以执行0~15级的命令
[HUAWEI-aaa] quit

SSH

下文转载自:https://www.cnblogs.com/nadr/p/15129704.html

(1).添加Router(需要有 GigabitEthernet接口)和一个Cloud,使用eNSP模拟器中的云端口与真机中虚拟出的loopback适配器端口映射,实现真机与模拟器环境的互通,以便使用终端仿真软件来实现ssh登录。云端口配置如下:

(2).在路由器和Cloud之间添加连线,并为路由器接口配置IP地址,。测一下与真机连通性。

启动路由器并配置IP地址:

(3)启动stelnet服务功能 # stelnet server enable

(4)进行虚拟终端配置界面 #user-interface vty 0 4

配置认证方式为密码认证 #authentication-mode aaa

指定VTY用户界面所支持的协议有三个,参数分别为ssh(只支持SSH协议)、telnet(只支持telnet协议)和all(支持所有协议,包括SSH和Telnet) #protocol inbound ssh

(5)进入aaa认证配置界面 #aaa

配置允许登录的用户名user,密码为密文形式的****** #local-user user password cipher ******

(6)配置用户user的级别 #local-user user privilege level 15

配置用户user的服务类型为ssh #local-user user service-type ssh

用来配置SSH用户缺省采用密码认证,华为说明手册中说该项属于缺省设置,但在实验过程中发现路由器是缺省设置的,交换机需要手动配置一下,有待进一步核实 #ssh user user authentication-type password

(7)生成本地RSA密钥对 # rsa local-key-pair create #回车确认使用默认值

2.结果验证

使用Xshell终端软件登录

启用终端仿真软件,新建会话,输入名称(IP地址),点击“链接”按钮,在弹出的安全提示对话框中,点击“接受并保存”:

输入用户名点击确定,继续输入密码点击确定:

链接成功。