【华为】SSH原理和华为交换机配置SSH注意事项

360影视 国产动漫 2025-04-24 16:25 2

摘要:用户上线认证通过,VTYD任务创建用户任务,将用户输入的数据转发给用户任务;将用户断链消息转发给用户任务;

SSH/Telnet基本框架

动作说明:

(A)socket将用户连接请求、断连请求、数据输入发送给VTYD任务;

(B)用户上线时,VTYD将账户发送给AAA认证;

(C)用户上线认证通过,VTYD任务创建用户任务,将用户输入的数据转发给用户任务;将用户断链消息转发给用户任务;

(D)用户任务VTx处理输入的数据,完成命令行的执行;

(E)执行结果通过Socket发送至客户端。

任务说明:

(1)VTYD任务:

监听Telnet/SSH连接请求,创建用户任务VTx;

接收用户的输入,转发给对应用户任务VTx。

(2)VTx任务:

每个Telnet/SSH用户独占一个任务体;

任务体完成用户下发命令的处理,并输出处理结果。

SOCK(IP协议栈报文调度和处理)-->VTYD(接收所有用户请求)-->TCP-->SSH-->AAA(此处主要是对用户进行认证 )-->vty x。

建议与总结

第一阶段:建立TCP连接

客户端和服务器建立TCP连接。

第二阶段:版本协商

客户端和服务器互相发送SSH的版本号,确认并协商好版本。

SSH版本包括SSH1(SSH1.x)和SSH2(SSH2.0)。

第三阶段:算法协商

SSH客户端和SSH服务器进行算法协商,确定使用哪种加密算法。

该阶段涉及如下四种算法:

客户端和服务器互相发送Key Exchange Init报文,如图19-1所示。报文携带了四大类算法中,客户端或服务器当前支持的算法类型。

图19-1 Key Exchange Init报文样例

服务器遍历客户端的算法支持类型列表,选择和自己匹配的算法类型,作为四大类算法中的算法类型。因此优先选择算法的哪一种类型,以客户端的算法列表中顺序为准。

第四阶段:密钥交换GRP

客户端与服务器通过协商获得加密因子,双方采用协商好的加密因子对SSH报文进行加密。后续双方通过该加密因子加解密所有数据。

客户端发送GEX_INIT报文到服务器。

对应的报文如下:

服务器回复GEX_REPLY报文。

对应的报文如下:

客户端和服务器互相发送NEWKEYS报文。

对应的报文:

第五阶段:身份认证(密码认证/公钥认证)

以密码认证为例:此阶段,SSH将用户名和密码发送给AAA模块进行认证,AAA模块反馈SSH认证结果。如果认证成功,那么进入会话请求阶段;如果失败,那么SSH断开连接。

第六阶段:会话请求

认证通过后,客户端向服务器发送会话请求,请求服务器提供某种类型的服务,即请求与服务器建立相应的会话。服务器根据客户端请求进行回应。最终建立SSH会话通道。

第七阶段:会话交互

会话建立后,服务器和客户端在该会话上进行数据信息的交互,双方发送的数据均使用加密因子进行加解密。

配置举例

如图19-2所示,用户希望在服务器端和客户端进行安全的数据交互,配置一个登录用户为client001,使用password认证方式登录SSH服务器。


图19-2 配置通过STelnet登录其他设备组网图

使用STelnet V1协议存在安全风险,实际应用中建议使用STelnet V2登录设备。

配置思路

在SSH服务器端配置SSH用户client001的认证方式为Password认证。在SSH服务器端开启STelnet服务功能。在SSH服务器端配置SSH用户client001的服务方式为STelnet。用户client001以STelnet方式实现登录SSH服务器。

Password认证不安全,实际应用中建议使用AAA认证。

操作步骤

在服务器端创建SSH用户。

# 配置VTY用户界面。

system-view
[HUAWEI] sysname SSH Server
[SSH Server] user-interface vty 0 4
[SSH Server-ui-vty0-4] authentication-mode aaa
[SSH Server-ui-vty0-4] protocol inbound ssh
[SSH Server-ui-vty0-4] user privilege level 15
[SSH Server-ui-vty0-4] quit

创建SSH用户client001。

# 新建用户名为client001的SSH用户,认证方式为password,密码是YsHsjx_202206

[SSH Server] ssh user client001
[SSH Server] ssh user client001 authentication-type password
[SSH Server] aaa
[SSH Server-aaa] local-user client001 password irreversible-cipher YsHsjx_202206
[SSH Server-aaa] local-user client001 privilege level 15
[SSH Server-aaa] local-user client001 service-type ssh
[SSH Server-aaa] quit

SSH服务器端开启STelnet服务功能。

[SSH Server] stelnet server enable
[SSH Server] ssh server-source -i Vlanif 10 //仅V200R020C00及之后版本需要配置这条命令。此处假设客户端使用IP地址10.1.1.1连接服务器,该地址对应的接口为Vlanif 10

配置SSH用户client001的服务方式为STelnet。[SSH Server] ssh user client001 service-type stelnetSTelnet客户端连接SSH服务器。

# 第一次登录,需要使能SSH客户端首次认证功能。使能客户端Client001首次认证功能。

system-view
[HUAWEI] sysname client001
[client001] ssh client first-time enable

# STelnet客户端Client001用password认证方式连接SSH服务器,输入配置的用户名和密码。

[client001] stelnet 10.1.1.1
Please input the username:client001
Trying 10.1.1.1 ...
Press CTRL+K to abort
Connected to 10.1.1.1 ...
The server is not authenticated. Continue to access it? [Y/N] :y
Save the server's public key? [Y/N] :y
The server's public key will be saved with the name 10.1.1.1. Please wait...

Please select public key type for user authentication [R for RSA; D for DSA; Enter for Skip publickey authentication; Ctrl_C for Can
cel], Please select [R, D, Enter or Ctrl_C]:d
Enter password:

输入密码,显示登录成功信息如下:

验证配置结果。

在SSH服务器端执行display ssh server status命令可以查看到STelnet服务已经使能。执行display ssh user-information命令可以查看服务器端SSH用户信息。

# 查看SSH状态信息。

[SSH Server] display ssh server status
SSH version :2.0
SSH connection timeout :60 seconds
SSH server key generating interval :0 hours
SSH authentication retries :3 times
SFTP server :Disable
Stelnet server :Enable
Scp server :Disable
SSH server source :0.0.0.0
ACL4 number :0
ACL6 number :0

# 查看SSH用户信息。

[SSH Server] display ssh user-information
User 1:
User Name : client001
Authentication-type : password
User-public-key-name : -
User-public-key-type : -
Sftp-directory : -
Service-type : stelnet
Authorization-cmd : No

SSH部分命令解释

ssh server-source all-interface

对于V200R020C00之前版本,缺省情况下,SSH服务器接收来自所有接口登录连接请求。

对于V200R020C00及之后版本,缺省情况下,SSH服务器不接收来自任何接口登录连接的请求。因此V200R020C00及之后版本的设备需要配置如下任一命令:

ssh server-source -i interface-type interface-number,配置指定接口为SSH服务器端的源接口。

若指定源接口为VLANIF,且VLANIF下有配置Sub地址,则不支持通过Sub地址进行SSH登陆。

ssh server-source all-interface,配置SSH服务器的源接口为设备上所有配置了IPv4地址的接口。

完成以上配置后,执行display network status all命令可以查看到设备端口监听的情况。其中,SSH的端口为22,Telnet的端口号为23。

ssh authentication-type default password

V200R011C10之前版本,设备没有配置缺省的SSH认证类型,因此必须要配置ssh authentication-type default password命令。

V200R011C10及之后的版本,设备缺省认证方式为密码认证。

若要配置对指定SSH用户进行password认证,还可以执行命令ssh user user-name authentication-type password进行配置:

#
ssh user john //SSH用户john
ssh user john authentication-type password //配置SSH用户john的认证方式为password
ssh user john service-type all //配置SSH用户john支持SFTP服务方式和STelnet服务方式
#


END

微思网络,始于2002年

专业IT认证培训23年,面向全国招生!


微思-主要课程有:
*网络技术:华为HCIA/ HCIP/HCIE;思科CCNA/CCNP/CCIE
*Linux技术:红帽 RHCE/RHCA
*K8S&容器:CKA/CKS
*数据库:ORACLE OCP/ OCM ;MySQL ;达梦数据库
*虚拟化:VMware VCP/VCAP
*安全认证:CISP体系/CISSP/ CISA;CCSK;CISAW体系
*管理类:PMP 项目管理;软考中/高项;ITIL体系;Togaf
其他课程如:ACP;Azure...

来源:奋斗的IT挨踢人

相关推荐