忘记gitlab代码仓库登录密码,如何找回?

一、密码要求

  • 必须是管理员或者自管理的Gitlab实例
  • 密码长度限制:Minimum: 8 characters Maximum: 128 characters
  • 避免使用弱密码:例如gitlab、人名

 

二、密码找回方式

2.1 使用UI【适用普通账号】

使用root账号,登录后,进入到管理中心。

 搜索到用户后,点击编辑按钮

 编辑态可以设置密码。【注意:此处密码设置后,初次登录gitlab还是需要自行设置一个密码】

 

2.2 使用gitlab-rake指令【适用所有账号】

例如:user1是需要重置密码的用户

# gitlab-rake "gitlab:password:reset[user1]"
Enter password:
Confirm password:
Password successfully updated for user with username user1

 

2.3 使用gitlab-rails控制台【适用所有账号】

操作步骤如下:

1)、进入控制台

gitlab-rails console

2)、找用户信息

user = User.find_by_username 'user1'
user = User.find(123)
user = User.find_by(email: 'user@example.com')

3)、设置密码
随机密码:

new_password = ::User.random_password
user.password = new_password
user.password_confirmation = new_password
user.password_automatically_set = false

指定密码:【推荐】

new_password = 'qweasdzxc!@#'
user.password = new_password
user.password_confirmation = new_password
user.password_automatically_set = false

4)、保存密码

user.save!

5)、退出控制台

exit

 

实操示例:

[root@localhost gitlab]# gitlab-rails console
--------------------------------------------------------------------------------
Ruby: ruby 3.1.4p223 (2023-03-30 revision 957bb7cb81) [x86_64-linux]
GitLab: 16.9.0 (969e1ff3ab9) FOSS
GitLab Shell: 14.33.0
PostgreSQL: 14.10
------------------------------------------------------------[ booted in 67.65s ]
Loading production environment (Rails 7.0.8)
irb(main):001:0> user = User.find_by_username 'user1'
=> #<User id:2 @user1>
irb(main):002:0> user = User.find_by_username 'root'
=> #<User id:1 @root>
irb(main):003:0> user = User.find_by_username 'user1'
=> #<User id:2 @user1>
irb(main):004:0> new_password = ::User.random_password
=> "ocEsdEuyc6D9eacPe62ktDjzrHTojgEds_Rt6HwsRhCmHjGcdmHwzhex4szcN6c4Vz63oMqxKpW_MMzrQez7qpTz_dsTqsCDeoKg1ydpPxRvWxrQUzVE1vEi8eKii...
irb(main):005:0> new_password = 'qweasdzxc!@#'
=> "qweasdzxc!@#"
irb(main):006:0> user.password = new_password
=> "qweasdzxc!@#"
irb(main):007:0> user.password_confirmation = new_password
=> "qweasdzxc!@#"
irb(main):008:0> user.password_automatically_set = false
=> false
irb(main):009:0> user.save!
=> true
irb(main):010:0> exit

 

2.3 Gitlab私有仓库占用端口

纯净环境下,单独安装的gitlab服务所能看到的端口过滤及查看。

# netstat -lntup |grep -Ev "Active|Proto" |awk '{print $4}' |awk -F':' '{print $NF}' |sort -rn |uniq

10000  【此处为编辑/etc/gitlab/gitlab.rb配置文件,设置的external_url参数所用端口】
9236
9229
9187
9168
9121
9100
9094
9093
9090
8155
8154
8153
8151
8150
8092
8082
8080
8060

 

posted @ 2024-03-22 13:14  MENGXP  阅读(3742)  评论(0)    收藏  举报