温馨提示×

CentOS GitLab如何重置密码

小樊
38
2026-07-08 09:09:11
栏目: 智能运维

下面分 GitLab 运行的系统(CentOS)GitLab 本身 两种常见场景,说明如何重置密码。


一、重置 GitLab 的 管理员(root)密码

适用于:

  • 忘记 GitLab Web 登录密码
  • 有服务器 root / sudo 权限

1️⃣ 登录 CentOS 服务器

ssh user@your_server_ip
sudo -i

2️⃣ 进入 GitLab 控制台(Rails Console)

gitlab-rails console

如果是较老版本:

gitlab-rake rails console

等待进入 irb 环境(可能需要 30 秒左右)


3️⃣ 查找用户(通常是 root)

user = User.where(id: 1).first

或按用户名:

user = User.find_by(username: 'root')

4️⃣ 重置密码

user.password = 'NewPassword123!'
user.password_confirmation = 'NewPassword123!'
user.save!

✅ 看到 true 表示成功


5️⃣ 退出

exit

现在可以用新密码登录 GitLab Web 页面。


二、重置普通用户密码(管理员操作)

如果你还能登录管理员账号:

  1. 登录 GitLab
  2. Admin → Users
  3. 找到用户 → Edit
  4. 设置新密码 → Save

三、忘记管理员账号,也无法进控制台?

1️⃣ 确认 GitLab 是否使用 LDAP / OAuth

grep -R "ldap" /etc/gitlab/gitlab.rb

如果是 LDAP,密码不在 GitLab 本地。


2️⃣ 检查是否有其他管理员

User.where(admin: true).each do |u|
  puts u.username
end

四、重置 CentOS 系统用户密码(非 GitLab)

⚠️ 仅系统用户,不影响 GitLab 登录

passwd username

五、常见问题

❓ 修改密码后仍无法登录

  • 清浏览器缓存
  • 检查是否启用了 2FA
  • 查看日志:
gitlab-ctl tail

❓ 忘记 root 用户名

User.where(admin: true)

六、安全建议

  • 密码至少 12 位
  • 启用 GitLab 2FA
  • 限制 SSH / Web 登录 IP

如果你愿意,可以告诉我:

  • GitLab 版本(gitlab-rake gitlab:env:info
  • 是否是 Docker / RPM / 源码安装

我可以给你更精确的命令 ✅

0