一、判断 Ceph 版本
许多 Ceph 版本(特别是 Quincy 早期 / Reef 之前)同时保留旧命令与新命令,但 ac-user 系列命令并不完整。
因此修改密码有两个方案:
- “新用户体系方案”(支持 ac-user-*)
- “旧用户体系方案”(只能用 set-login-credentials)
下面的流程适用于所有版本,保证一定能成功重置密码。
二、通用方案:先检查 admin 用户是否被禁用(最常见问题)
执行:
ceph dashboard ac-user-show admin
如果看到:
"enabled": false
说明 admin 用户被禁用,那永远无法登录,必须先启用或重新创建。
如果没禁用,则启用:
ceph dashboard ac-user-enable admin
三、方案 A:使用 AC 用户管理体系(支持 ac-user-* 的版本)
如果你的版本支持这些命令,请按以下步骤操作。
1. 删除旧的 admin(推荐)
ceph dashboard ac-user-delete admin
2. 重新创建 admin 用户
echo "你的新密码" > pass.yaml
ceph dashboard ac-user-create admin administrator -i pass.yaml
3. 确认用户已启用
ceph dashboard ac-user-show admin
检查 "enabled": true。
四、方案 B:版本不完整时(ac-user-list 等命令不存在)
这种情况下 AC 用户体系不完整,只能使用 旧命令,但依然有效。
1. 用旧命令直接重置密码
echo "你的新密码" > pass.yaml
ceph dashboard set-login-credentials admin -i pass.yaml
虽然会提示 deprecated,但实际是生效的。
2. 完成后建议重启 dashboard(可选)
ceph mgr module disable dashboard
ceph mgr module enable dashboard
五、判断你应该用哪个方案
执行:
ceph dashboard ac-user-set-password admin -i pass.yaml
如果能正常工作 → 优先用方案 A
如果报 unknown command → 必须用方案 B
六、最终总结
Ceph Dashboard 密码重置标准流程
一、先检查 admin 用户状态
ceph dashboard ac-user-show admin
- 如果
"enabled": false→ 需要重新创建 admin - 如果命令不存在 → 直接跳到方案 B
二、方案 A:支持 ac-user-* 的版本
ceph dashboard ac-user-delete admin
echo "新密码" > pass.yaml
ceph dashboard ac-user-create admin administrator -i pass.yaml
验证:
ceph dashboard ac-user-show admin
确保 "enabled": true。
三、方案 B:不完全支持 ac-user 的老版本
echo "新密码" > pass.yaml
ceph dashboard set-login-credentials admin -i pass.yaml
可选重启:
ceph mgr module disable dashboard
ceph mgr module enable dashboard
