一、背景
由于公司在公司内部服务新装一台Gitlab服务器,长期未登录导致密码忘记。
二、邮箱方式找回
1.在gitlab登录窗口
如果密码忘记了登录不进入,可以先尝试点击登录框下方的Forgot your password来通过邮箱的方式找回,如果邮箱不可以使用了,则看下面的强制找回方法.

2.输入邮箱账号找回
输入当初设置的邮箱帐号,这一步前提是邮箱可以正常使用的情况下才可以使用的方法

3.重设密码
输入正确的邮箱后,点击邮箱会受到一封重设密码邮件,点击Reset password进入浏览器重新输入新密码确定重新登录即可。

三、Bash命令方式找回
1.切换到git用户
[root@staging ~]# su git
2.查看gitlab命令文件
sh-4.2$ ls
alertmanager gitaly gitlab-exporter gitlab-workhorse nginx postgresql redis
backups git-data gitlab-rails grafana node-exporter prometheus trusted-certs-directory-hash
bootstrapped gitlab-ci gitlab-shell logrotate postgres-exporter public_attributes.json
3.进入gitlab控制台
sh-4.2$ gitlab-rails console
--------------------------------------------------------------------------------
GitLab: 13.0.3 (e2397fc2acb) FOSS
GitLab Shell: 13.2.0
PostgreSQL: 11.7
--------------------------------------------------------------------------------
Loading production environment (Rails 6.0.3)
4.查询gitlab超级管理员信息
irb(main):001:0> user = User.where(id:1).first
=> #<User id:1 @root>
4.重置密码并报存用户对象
irb(main):004:0> user.password='*******'
irb(main):005:0> user.save!
Enqueued ActionMailer::DeliveryJob (Job ID: a5a683e2-9d9c-402f-8187-3902f3380ced) to Sidekiq(mailers) with arguments: "DeviseMailer", "password_change", "deliver_now", #<GlobalID:0x00007fb8d13bcbd0 @uri=#<URI::GID gid://gitlab/User/1>>
=> true
irb(main):008:0> quit
5.返回gitlab登录界面重新登录
回到登录窗口页面,重新使用root用户进行登录,这次可以正常登录了。
