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密码恢复完成
原文地址:https://blog.51cto.com/11573159/2406589