
一、背景说明
在实际生产网络中,为了确保远程管理通道的机密性、安全性与可控性,企业推荐对华为交换机统一配置 SSH 加密登录服务,并加入以下增强安全控制:
SSH监听端口自定义:防止攻击者通过默认端口(22)扫描设备;
SSH登录来源限制(ACL):防止非授权IP远程接入交换机;
强制使用本地账号认证:确保登录身份唯一可控;
全面禁用Telnet明文协议:保障传输加密。
二、配置步骤总览
配置密码永不过期,开启复杂度
[Huawei] aaa // 进入AAA(认证、授权、计费)配置视图,用于用户和认证管理
[Huawei-aaa] local-aaa-user password policy administrator // 创建名为administrator的密码策略,用于管理本地用户密码规则
[Huawei-aaa-password-policy-administrator] password min-length 8 // 设置密码最小长度为8位,增强密码安全性
[Huawei-aaa-password-policy-administrator] password type-alphanum // 要求密码必须同时包含字母和数字,提高密码复杂度
[Huawei-aaa-password-policy-administrator] password expire 0 // 配置密码永不过期(0为特殊值)
[Huawei-aaa-password-policy-administrator] password history 5 // 禁止使用最近5次使用过的密码,防止密码重复使用
[Huawei-aaa-password-policy-administrator] password history-record 0 // 不记录密码修改历史(0表示关闭记录)
[Huawei-aaa-password-policy-administrator] password retry 3 // 连续3次输错密码后临时锁定用户,防止暴力破解
[Huawei-aaa-password-policy-administrator] undo password alert original // 关闭原始密码告警
[Huawei-aaa-password-policy-administrator] quit // 退出密码策略配置视图三、配置实操命令及说明
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 请求。
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登录;
审核运维行为。