centos7下Jenkins管理员admin密码忘记后处理方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了centos7下Jenkins管理员admin密码忘记后处理方法相关的知识,希望对你有一定的参考价值。

1.环境描述

centos7下一套gitlab+Jenkins持续集成CI环境,运行稳定,却出现了admin密码忘记

2.一般初始密码

通常情况下,在初始化完成后的Jenkins环境中,初始密码在/var/lib/jenkins/secrets/initialAdminPassword下直接cat就能看到,然后根据提示登陆即可
技术图片

3.正常运行后的密码

要是登录后,还正常运行过的环境,这个文件已经不存在了,这个时候密码在/var/lib/jenkins/users下有个admin开头的文件,默认可能是/var/lib/jenkins/users/admin_6854960077009622281/config.xml的一个文件,cat可以查看到<passwordHash>#jbcrypt:$2a$10$5IOG8aCAHLW3aiEm1BvYjOXThRmBqAFZHD1texm.fY6TM4xGY9Dl2</passwordHash>
一段被加密的密码字符串,不过貌似只能看看而已,哈哈
那如何破解密码呢?如下
密码环境配置在/var/lib/jenkins/config.xml

4.备份/var/lib/jenkins/config.xml文件

cp /var/lib/jenkins/config.xml /var/lib/jenkins/config.xml.bak #用来后边再恢复配置

5.修改config.xml文件下密码环境配置

vim /var/lib/jenkins/config.xml   #删除如下代码段,对,是删除,不是注释,注释没用的,后边会自动恢复被注释,起不到修改效果
  <useSecurity>true</useSecurity>
  <authorizationStrategy class="hudson.security.FullControlOnceLoggedInAuthorizationStrategy">
    <denyAnonymousReadAccess>true</denyAnonymousReadAccess>
  </authorizationStrategy>
  <securityRealm class="hudson.security.HudsonPrivateSecurityRealm">
    <disableSignup>true</disableSignup>
    <enableCaptcha>false</enableCaptcha>
  </securityRealm>

#systemctl restart jenkins

6.启用安全模式

6.1再次登录Jenkins页面的时候,发现已经不需要登录了,可以直接进入页面,并且是管理员权限
技术图片
技术图片
勾选启用安全->选择Jenkins自有数据库->保存
6.2修改admin密码
用户列表
技术图片
admin->设置
技术图片
填写新密码->保存
技术图片

7.恢复/var/lib/jenkins/config.xml文件

cp /var/lib/jenkins/config.xml.bak /var/lib/jenkins/config.xml
cp:是否覆盖"/var/lib/jenkins/config.xml"? yes
systemctl restart jenkins

8.发现了久违的登录页面

技术图片
关键是用admin和刚修改的密码可以登录了
技术图片
至此,Jenkins用户admin密码恢复完成

以上是关于centos7下Jenkins管理员admin密码忘记后处理方法的主要内容,如果未能解决你的问题,请参考以下文章

忘记Jenkins管理员密码的解决办法

jenkins重新初始化admin

忘记Jenkins管理员密码的解决办法

centos7安装jenkins

Jenkins admin的默认的密码忘记了

Jenkins 忘记admin密码拯救方法