GitLab CE 在 Debian 12 上重置 root 密码
如果你在 GitLab CE 中忘记了 root 用户密码,可以通过命令行快速重置。本文整理了两种方法:通过 Rails 控制台重置,以及一行命令直接重置。
🔑 方法一:使用 Rails 控制台重置密码
- 打开终端,进入 GitLab Rails 控制台:
sudo gitlab-rails console -e production
- 在控制台中执行以下 Ruby 命令,将密码重置为
NewPassword123
(可自行修改):
user = User.find_by(username: 'root')
user.password = 'NewPassword123'
user.password_confirmation = 'NewPassword123'
user.save!
执行成功后会显示 true
,表示密码已修改成功。
- 退出控制台:
exit
- 使用新密码登录 GitLab:
http://你的服务器IP或域名
账号:root
密码:你刚设置的新密码
⚡ 方法二:一行命令直接重置 root 密码
如果不想进入 Rails 控制台,可以使用以下一行命令(以 NewPassword123
为例):
sudo gitlab-rails runner "u = User.find_by(username:'root'); u.password='NewPassword123'; u.password_confirmation='NewPassword123'; u.save!"
执行完成后即可直接用新密码登录。
💡 额外提示
- 确保 GitLab 服务运行正常:
sudo gitlab-ctl status
- 生成随机密码:
如果想快速生成一个安全随机密码,可在 Rails 控制台使用:
user.password = SecureRandom.hex(10)
这会生成一个 20 位随机密码,你可以复制使用。
- 修改后立即登录,确认密码修改成功。
✅ 总结
- 使用 Rails 控制台可以手动设置任意密码
- 使用
gitlab-rails runner
可一行命令完成重置 - 提示:务必确保 GitLab 服务正常运行,否则修改可能失败