authentication-mode password认证模式时,password-control的复杂度规则确实不起作用。这是因为:authentication-mode password:使用线路级别密码,不受password-control约束authentication-mode scheme:使用AAA认证(本地用户),受password-control约束# 1. 全局启用password-control
system-view
password-control enable
password-control length 8 # 最小长度8位
password-control composition type-number 3 type-length 1 # 至少3种字符类型
password-control history 5 # 密码历史记录5次
# 2. 创建本地用户(受password-control约束)
local-user admin
password simple YourComplexPassword123! # 此时会检查复杂度
service-type telnet ssh terminal
authorization-attribute user-role network-admin
# 3. 配置VTY使用scheme认证
user-interface vty 0 4
authentication-mode scheme
protocol inbound all# 1. 配置VTY密码时手动遵循复杂度要求
user-interface vty 0 4
authentication-mode password
set authentication password cipher ComplexPass123! # 手动设置复杂密码
# 2. 配置登录限制增强安全
idle-timeout 5 0 # 5分钟无操作超时
protocol inbound ssh # 仅允许SSH登录
user privilege level 3 # 限制权限级别| 认证模式 | 密码类型 | 受password-control约束 | 安全性 |
|---|---|---|---|
| password | 线路密码 | ❌ 不受约束 | 较低 |
| scheme | 本地用户密码 | ✅ 受约束 | 较高 |
暂无评论
你感觉 “password‑control 对 vty 口令不起作用”,多半是因为 vty 配的是 line 模式密码(set authentication password),而不是 AAA 本地用户密码;password‑control 只管「设备管理类本地用户」,不管 line 下直接设的密码。
下面分清楚:哪些受控制、哪些不受控制,以及怎么让 vty 也强制复杂密码。
一、password‑control 到底管谁?(H3C Comware V7)
只对 AAA 本地用户(local‑user) 生效:
设备管理类用户:ssh、telnet、http、https、console、vty 用 scheme 认证的用户
super 密码
不管的:
line vty 下直接配置的密码:
set authentication password simple/cipher xxx
网络接入类用户(dot1x、portal 等)
所以:
如果你 vty 配的是:
plaintext
line vty 0 15
authentication-mode password
set authentication password simple 123456
→ 这个 123456 不受 password‑control 任何规则限制
如果你改成:
plaintext
line vty 0 15
authentication-mode scheme
然后用 local‑user 登录 → 这个密码受 password‑control 全权控制
二、能不能让 vty 口令也强制复杂化?
可以,但必须改成 AAA 本地用户 + scheme 认证,不能再用 line 密码。
推荐标准配置(vty 强密码 + 复杂度)
bash
运行
# 1. 全局开启密码控制
password-control enable
# 2. 复杂度规则(示例:最小长度10,大小写+数字+特殊符,禁止连续相同字符)
password-control length 10
password-control composition type-number 4
password-control complexity same-character check
password-control complexity user-name check
# 3. 创建本地管理用户(受密码控制)
local-user admin class manage
password simple Admin@2026
service-type ssh telnet
user-role network-admin
# 4. vty 用 scheme 认证(关键!)
line vty 0 15
authentication-mode scheme
此时:
再创建 / 修改 local‑user 密码,必须符合复杂度,否则直接报错不让配
Telnet/SSH 登录必须输用户名 + 密码,且密码强校验
三、如果你坚持用 line 密码(不推荐)
没有官方办法让 line 下的 password 强制复杂,只能:
自己写脚本 / 模板,要求配置人员必须设强密码
定期审计配置,检查 set authentication password
安全建议:不要用 line 密码,全部改成 scheme+local‑user。
四、快速判断你现在的情况
bash
运行
display line vty
display local-user
看到 authentication-mode password → 不受控
看到 authentication-mode scheme → 受 password‑control 控制
暂无评论
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作
举报
×
侵犯我的权益
×
侵犯了我企业的权益
×
抄袭了我的内容
×
原文链接或出处
诽谤我
×
对根叔社区有害的内容
×
不规范转载
×
举报说明
暂无评论