#
password-control enable
undo password-control aging enable
undo password-control history enable
password-control length 5
password-control composition type-number 1 type-length 1
password-control login-attempt 3 exceed lock-time 10
password-control update-interval 0
password-control login idle-time 0
undo password-control complexity user-name check
#
华三的密码策略是分层生效的,关闭某一项功能并不等于彻底关闭密码控制。常见原因包括:
只关闭了密码老化(aging),但全局密码控制仍启用
密码老化只是密码控制的一部分,只要 password-control 总体启用,系统仍可能触发密码检查。
配置层级覆盖问题
密码策略优先级为:
本地用户 > 用户组 > 全局
如果某一层级仍启用了密码失效策略,就会继续生效。
首次登录必须修改密码功能仍然启用
即使密码未过期,只要启用了“首次登录强制修改密码”,系统仍会要求改密。
密码在关闭策略前已被判定为过期
密码一旦进入“已过期”状态,即使后续关闭策略,也可能仍要求先修改一次密码。
一、问题原因分析
1. 核心矛盾点
您已配置 undo password-control aging enable关闭密码老化
但AP仍提示密码失效,可能有以下原因:
可能原因
说明
1. 全局密码老化关闭,但用户级别单独开启
在用户视图下单独设置了密码老化
2. 密码已过期,状态被记录
在开启老化期间密码已过期,关闭后状态未清除
3. 其他认证方式的影响
如AAA、RADIUS服务器有老化策略
4. 配置未生效
配置未保存或重启后生效
二、排查与解决步骤
步骤1:检查当前生效的密码策略
# 查看完整的密码控制配置
display password-control
# 查看用户密码状态
display local-user
# 查看特定用户的详细配置
display local-user <username>
# 例如
display local-user admin
预期输出检查要点:
查看 Aging是否为 Disable
查看用户是否有 Password aging单独设置
查看用户最后修改密码时间
步骤2:检查用户级别的密码老化设置
2.1 查看本地用户配置
# 进入系统视图
system-view
# 进入用户配置视图
local-user <username>
# 例如
local-user admin
# 查看当前配置
display this
# 检查是否有以下配置
# password aging <days> # 如果有,表示用户单独设置了密码老化
# service-type ... # 查看服务类型
# authorization-attribute ... # 查看授权属性
2.2 清除用户的密码老化设置
# 如果发现用户单独设置了密码老化
local-user <username>
undo password aging
commit
quit
步骤3:重置用户密码状态
3.1 方法1:修改用户密码
# 修改用户密码,重置密码状态
local-user <username>
password simple <new-password>
# 或使用密文
# password cipher <encrypted-password>
commit
quit
3.2 方法2:强制清除密码失效状态
# 删除并重新创建用户
system-view
# 删除用户
undo local-user <username>
# 重新创建
local-user <username>
password simple <password>
service-type telnet ssh terminal
authorization-attribute user-role network-admin
# 重要:不设置aging
commit
quit
步骤4:检查AAA认证配置
4.1 查看AAA方案
# 查看认证方案
display aaa scheme
# 查看认证域
display domain [domain-name]
# 查看当前使用的域
display current-configuration | include domain
4.2 检查域内的密码策略
# 进入域配置视图
domain <domain-name>
# 例如
domain system
# 查看是否有密码老化策略
display this
# 检查是否有类似配置
# password-control aging enable
步骤5:完整的安全配置示例
# 正确的密码策略配置(不提示失效)
system-view
# 启用密码控制
password-control enable
# 关闭密码老化功能
undo password-control aging enable
# 关闭密码历史记录
undo password-control history enable
# 设置密码最小长度
password-control length 5
# 密码复杂度:至少包含1种字符类型,最少1个字符
password-control composition type-number 1 type-length 1
# 登录失败锁定:3次失败锁定10分钟
password-control login-attempt 3 exceed lock-time 10
# 密码修改间隔:0表示可随时修改
password-control update-interval 0
# 登录空闲时间:0表示不限制
password-control login idle-time 0
# 关闭复杂度检查中的用户名检查
undo password-control complexity user-name check
# 重要:设置密码永不失效
password-control aging 0
# 保存配置
save force
步骤6:针对VTY用户界面的配置
# 配置用户界面
user-interface vty 0 4
# 设置认证方式为scheme
authentication-mode scheme
# 设置协议支持
protocol inbound ssh
# 设置用户权限
user-role network-admin
# 设置空闲超时(可选)
idle-timeout 15 0
quit
三、验证配置生效
验证步骤
# 1. 验证全局密码策略
display password-control
# 查看 Aging 是否为 Disable
# 查看 Aging time 是否为 0 或 Disable
# 2. 验证用户配置
display local-user
# 查看 Aging 列是否为 0 或 -
# 3. 测试登录
# 从另一个会话尝试登录
# 观察是否还有密码过期提示
# 4. 查看日志
display logbuffer
# 检查是否有密码相关的告警
四、特殊场景处理
场景1:使用RADIUS认证
如果使用RADIUS服务器,需要在服务器上修改密码策略:
# 在AC上检查RADIUS配置
display radius scheme
display current-configuration | include radius
# 需要在RADIUS服务器上修改策略:
# 1. 关闭密码老化
# 2. 或设置更长的老化时间
场景2:多域环境
# 检查所有域的配置
display domain
# 对每个域检查
domain <domain-name>
display this
# 确保没有 password-control aging enable
undo password-control aging enable
quit
场景3:配置文件残留
# 查看配置文件中的所有密码相关配置
display saved-configuration | include password
display saved-configuration | include aging
display saved-configuration | include control
# 重启设备使配置完全生效
reboot
五、故障排除表
现象
可能原因
解决方案
仍有密码过期提示
1. 用户级单独设置aging
2. 配置未生效
1. undo password aging
2. 重启设备
修改密码后仍提示
密码历史记录冲突
1. 修改为全新密码
2. 临时关闭历史记录
部分用户正常,部分异常
不同用户使用不同域
检查每个域的配置
Web登录正常,CLI异常
认证方式不同
统一认证方式
六、一键式清理脚本
如果以上步骤复杂,可以尝试以下脚本重置密码策略:
system-view
# 备份当前配置
display current-configuration > backup_config.txt
# 重置密码策略
password-control enable
undo password-control aging enable
undo password-control history enable
password-control aging 0
password-control update-interval 0
password-control length 5
password-control composition type-number 1 type-length 1
undo password-control complexity user-name check
# 重置所有本地用户
local-user admin
undo password aging
password simple YourNewPassword123
service-type telnet ssh http https terminal
authorization-attribute user-role network-admin
commit
quit
# 保存配置
save force
# 重启设备
reboot
七、后续预防措施
1. 定期检查配置
# 每月检查一次密码策略
display password-control
display local-user
2. 监控日志
# 查看密码相关日志
display logbuffer | include password
display logbuffer | include aging
display logbuffer | include expire
3. 创建告警
# 配置SNMP告警
snmp-agent
snmp-agent trap enable password
八、如果问题依旧
如果以上所有步骤都无法解决问题,可能是设备软件版本问题:
1. 查看版本信息
display version
2. 升级固件
# 备份配置
display current-configuration > config.txt
# 升级系统
tftp 10.1.1.1 get system.bin
boot-loader file system.bin
reboot
3. 联系H3C技术支持
收集以下信息:
display diagnostic-information
display password-control
display local-user
display aaa scheme
display domain
总结
问题很可能出在:
用户级别的单独密码老化设置(通过 local-user视图下的 password aging命令)
密码过期状态被记录,需要修改密码重置状态
AAA/RADIUS服务器的密码策略覆盖了本地策略
建议按照以下顺序排查:
display local-user查看用户是否有单独的aging设置
修改用户密码重置状态
检查AAA和域配置
重启设备使配置完全生效
暂无评论
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作
举报
×
侵犯我的权益
×
侵犯了我企业的权益
×
抄袭了我的内容
×
原文链接或出处
诽谤我
×
对根叔社区有害的内容
×
不规范转载
×
举报说明
暂无评论