一、SNMPv3简介
一个完整的SNMPv3安全访问流程:
1️⃣ 用 用户名
→ 告诉设备“我是谁”
2️⃣ 用 认证密码(SHA)
→ 证明“我不是假冒的”
3️⃣ 用 私有密码(AES)
→ 保证“通信不被窃听”
举例:
Zabbix访问设备时:
用户名:zabbix
认证密码:保证是Zabbix服务器
私有密码:防止链路被抓包
SHA 是“验证身份用的”(认证)
AES 是“保护数据用的”(加密)
1.1、SHA 是什么(认证算法)
Secure Hash Algorithm(安全哈希算法)
用来做:
身份校验
数据完整性校验
你发送一段数据:
数据 + 密码 → 生成一个“指纹”(哈希值)
设备收到后:
用同样方式计算一次
对比“指纹”
一致 = 说明:
你是合法用户
数据没被篡改
像“盖章 + 防伪签名”
特点
不可逆(算不回原文)
用于验证,不用于加密
1.2、AES 是什么(加密算法)
Advanced Encryption Standard(高级加密标准)
用来:
加密数据内容
发送数据前:
明文 → 加密 → 密文(看不懂)
接收方:
密文 → 解密 → 明文
像“上锁的保险箱”
特点
可逆(可解密)
用于保护数据内容
1.3、SHA vs AES 本质区别
二、华为交换机实际配置
启用SNMPv3
snmp-agent
snmp-agent sys-info version v3创建安全组
snmp-agent group v3 bxddg-group privacy创建用户
用户:bxddg-snmp
认证密钥:Bxddg@SNMP@Auth2026!
加密密钥:Bxddg@SNMP#Priv2026!
snmp-agent usm-user v3 acyber-snmp bxddg-group可选的认证算法如下所示

可选的加密算法如下所示

输入明文密码只能交互式输入,命令行输入只能cipher加密文的方式,输入明文密码只能交互方式驶入,输入如下命令然后回程,然后输入两次明文密码:Bxddg@SNMP@Auth2026!
snmp-agent usm-user v3 bxddg-snmp authentication-mode sha2-256
输入明文密码只能交互式输入,命令行输入只能cipher加密文的方式,输入明文密码只能交互方式驶入,输入如下命令然后回程,然后输入两次明文密码:Bxddg@SNMP#Priv2026!
snmp-agent usm-user v3 bxddg-snmp privacy-mode aes128三、zabbix的实战配置
上下文名称
99%场景:
不配置 contextName
使用默认上下文,一般为空
安全名称
对应交换机usm-user,就是用户名

认证后结果如下所示
