Administrator
Published on 2025-06-17 / 25 Visits
0
0

华为交换机 SSH 安全远程登录配置实战案例

一、背景说明

在实际生产网络中,为了确保远程管理通道的机密性、安全性与可控性,企业推荐对华为交换机统一配置 SSH 加密登录服务,并加入以下增强安全控制:

  1. SSH监听端口自定义:防止攻击者通过默认端口(22)扫描设备;

  2. SSH登录来源限制(ACL):防止非授权IP远程接入交换机;

  3. 强制使用本地账号认证:确保登录身份唯一可控;

  4. 全面禁用Telnet明文协议:保障传输加密。


二、配置步骤总览

步骤

配置模块

描述

1

启用 SSH 服务

开启远程加密服务

2

配置 SSH 自定义端口

防止默认端口暴露

3

生成 RSA 密钥对

支持 SSH 加密交换

4

配置本地用户权限

设置登录账号及权限

5

配置 ACL 登录限制

限制特定 IP 网段可登录

6

配置 VTY 虚拟线路

限定为 SSH 登录,绑定ACL

7

配置 Console 登录

本地串口启用账号密码验证

8

验证 SSH 状态与安全性

确认启用、登录来源和权限均有效


三、配置实操命令及说明

Step 1:启用 SSH 服务

[Switch] sysname Core-SW01
[Core-SW01] stelnet server enable

说明:启用 SSH(stelnet)服务端监听功能。

  • 当启用 ssh client first-time enable 后,设备允许第一次连接目标服务器时自动接受其主机密钥,并将其缓存;

  • 下次连接时会校验该密钥,防止中间人攻击(类似 Linux 的 ~/.ssh/known_hosts)。

  • SSH 服务器在监听连接请求时,默认可能只监听某个接口(如 VLAN 接口或 Loopback 接口),而这条命令允许它从所有接口接受 SSH 请求。

功能

命令

使用场景说明

启用 SSH 客户端的首次密钥自动接收

ssh client first-time enable

设备首次作为 SSH 客户端主动连接他人时

允许所有接口接受 SSH 登录

ssh server-source all-interface

SSH 服务器监听多个接口 IP,增强可达性


Step 2:配置 SSH 监听端口号(如 22222)

[Core-SW01] stelnet server port 22222

说明:

  • 修改 SSH 默认端口为 22222;

  • 可缓解暴力扫描攻击;

  • SSH 客户端连接时需指定端口:ssh -p 22222 admin@IP


Step 3:生成 RSA 密钥对(SSH 必需)

[Core-SW01] rsa local-key-pair create

说明:默认生成2048位密钥,供 SSH 握手时使用。


Step 4:配置本地用户账号及权限

[Core-SW01] aaa
[Core-SW01-aaa] local-user admin password irreversible-cipher Huawei@123
[Core-SW01-aaa] local-user admin privilege level 15
[Core-SW01-aaa] local-user admin service-type ssh terminal

说明:

  • 设置本地管理员账号 admin;

  • 权限等级 15;

  • 启用 SSH 和 Console 登录通道。


Step 5:配置 ACL 限制 SSH 登录来源(如10.10.10.0/24)

[Core-SW01] acl number 2001
[Core-SW01-acl-basic-2001] rule permit ip source 10.10.10.0 0.0.0.255
[Core-SW01-acl-basic-2001] rule deny ip

说明:

  • 创建基础ACL 2001;

  • 仅允许来自指定IP段的SSH登录请求;

  • 其余IP默认拒绝访问。


Step 6:配置 VTY 虚拟终端(SSH登录 + ACL)

[Core-SW01] user-interface vty 0 4
[Core-SW01-ui-vty0-4] authentication-mode aaa
[Core-SW01-ui-vty0-4] protocol inbound ssh
[Core-SW01-ui-vty0-4] acl 2001 inbound
[Core-SW01-ui-vty0-4] idle-timeout 10 0
[Core-SW01-ui-vty0-4] user privilege level 15
[Core-SW01-ui-vty0-4] quit

说明:

  • 禁用 Telnet,仅支持 SSH;

  • 绑定ACL 2001 进行登录源限制;

  • 设置空闲超时和权限等级。


Step 7:配置 Console 串口登录(启用认证)

[Core-SW01] user-interface console 0
[Core-SW01-ui-console0] authentication-mode aaa
[Core-SW01-ui-console0] idle-timeout 15 0
[Core-SW01-ui-console0] user privilege level 15
[Core-SW01-ui-console0] quit

说明:登录交换机物理串口时同样要求输入账号密码。


四、验证 SSH 配置状态(上线前必查)

✅ 查看SSH服务状态及监听端口

display ssh server status

示例输出:

 SSH Version                         : 2.0
 SSH server enable                   : Yes
 SSH port                            : 22222
 Idle timeout interval (minutes)     : 10
 Authentication timeout (seconds)   : 60

✅ 查看本地用户配置

display local-user

确认内容:

  • admin 用户存在;

  • 权限等级为 15;

  • 服务类型包含 SSH、Terminal。


✅ 查看VTY线路配置及ACL绑定

display current-configuration configuration user-interface vty 0 4

确认内容:

  • 使用 SSH 协议;

  • 认证方式为 AAA;

  • ACL 2001 已绑定。


✅ 查看ACL匹配情况

display acl 2001

示例输出:

 rule 5 permit ip source 10.10.10.0 0.0.0.255 (Matched 12 times)
 rule 10 deny ip (Matched 3 times)

说明:命中次数代表ACL已生效。


✅ 测试SSH远程登录

使用命令:

#Linux登录
ssh -p 22222 admin@10.10.10.1
#交换机登录
stelnet 10.10.10.1 40912

成功提示用户名登录说明配置正确,若失败请排查防火墙、ACL规则或认证问题。


✅ 查看SSH登录日志

display logbuffer | include SSH

示例输出:

SSH/6/LOGIN_SUCCESS: Admin user admin (IP=10.10.10.5) logged in via SSH.
SSH/4/LOGIN_FAILED: SSH login failed for user root (IP=10.10.10.50).

作用:

  • 追踪合法/非法SSH登录;

  • 审核运维行为。


五、上线前标准验证清单

检查项

验证命令

合规条件

SSH启用

display ssh server status

显示 enable,端口为设定值

用户账号配置

display local-user

存在admin账号、权限15

RSA密钥生成

display rsa local-key-pair public

存在密钥

ACL规则是否生效

display acl 2001

出现Matched次数

VTY协议和ACL是否生效

display current-configuration

限SSH协议,含ACL绑定

SSH登录测试

SSH客户端连接

登录成功

SSH行为日志是否记录

`display logbuffer

include SSH`


六、总结建议

安全控制项

推荐做法

端口控制

自定义SSH端口,避免默认22端口暴露

IP来源控制

使用ACL限制来源网段,严防非法接入

日志审计

启用info-center + syslog集中采集SSH行为

用户权限分级

设置多账号分级管理,如审计员、普通管理员

禁用Telnet

使用 protocol inbound ssh 阻止明文协议



Comment