jenkins忘记admin密码,解决办法

本文介绍了一种在忘记Jenkins管理员密码时的解决方法,通过在Linux环境下使用root权限,找到Jenkins安装目录,修改特定用户的配置文件,从而实现密码的重置。

搭了一套jenkins+gitlab环境,实验练习,想要测试账号权限,突然才发现admin密码忘记了,下面是解决方法。

第一步

[root@jenkins-master]# rpm -ql jenkins ##查看jenkins的所有的目录
/etc/init.d/jenkins
/etc/logrotate.d/jenkins
/etc/sysconfig/jenkins
/usr/lib/jenkins
/usr/lib/jenkins/jenkins.war
/usr/sbin/rcjenkins
/var/cache/jenkins
/var/lib/jenkins     ##主目录文件
/var/log/jenkins

第二步:进入主目录用户文件夹替换密码

用户目录是/var/lib/jenkins/users/

[root@jenkins-master admin_5941012542269168659]# pwd
/var/lib/jenkins/users/admin_5941012542269168659

在这里插入图片描述
这个方法也可以解决任何创建的账号的密码的修改

进入admin用户文件夹

[root@jenkins-master admin_5941012542269168659]# ls
config.xml
[root@jenkins-master admin_5941012542269168659]# vim config.xml

在这里插入图片描述
搜索pass字段
替换掉原来配置的密码哪行(整段复制粘贴进去)

<passwordHash>#jbcrypt:$2a$10$MiIVR0rr/UhQBqT.bBq0QehTiQVqgNpUGyWW2nJObaVAM/2xSQdSq</passwordHash>

这一行密码就是加密过的123456

system restart jenkins

重启jenkins服务。登录即可

<think>好的,我现在需要帮助用户解决Jenkins忘记密码的问题。首先,我应该回想一下用户之前的问题,他们之前遇到了SSH公钥未正确注册到Git服务器的问题,现在转向了Jenkins密码忘记的情况。这说明用户可能在使用持续集成工具时遇到了访问问题,需要重置密码。 首先,我需要确认用户当前的问题:Jenkins管理员密码忘记了,无法登录。用户可能需要访问Jenkins的管理界面,但没有密码,所以需要重置的方法。接下来,我应该回忆Jenkins重置密码的几种常见方法,通常包括通过配置文件、Docker容器、或者使用groovy脚本等方法。 接下来,我需要分步骤考虑不同的情况。比如,如果Jenkins是安装在本地服务器上,用户是否有文件系统的访问权限?如果有的话,可以通过修改配置文件或安全设置文件来禁用安全设置,然后重新设置密码。如果没有文件系统权限,可能需要其他方法,比如使用Docker或者备份文件。 然后,我需要考虑用户可能使用的安装方式。例如,如果是通过Docker运行的Jenkins,可能需要进入容器内部修改文件。如果是直接安装在Linux服务器上,可能需要修改`config.xml`文件中的安全设置部分。 另外,还需要注意权限问题,确保用户在修改Jenkins相关文件时有足够的权限,比如使用sudo或者以正确的用户身份运行命令。同时,提醒用户在修改配置文件前备份,防止操作失误导致数据丢失。 可能还需要考虑Jenkins的版本差异,不同版本可能在配置文件的路径或内容上有所不同。但一般来说,路径在`/var/lib/jenkins`或用户主目录下的`.jenkins`文件夹中。 此外,用户可能在重置密码后需要重新启用安全设置,或者需要创建新的管理员账户。这时候可能需要通过groovy脚本初始化脚本来实现,或者直接通过Jenkins的初始化向导重新配置。 还需要考虑用户是否知道如何进入Jenkins的管理界面,或者是否需要指导他们在禁用安全设置后访问Jenkins,然后进入用户管理页面修改密码。 最后,要确保提供的步骤清晰、安全,并提醒用户注意权限和备份的重要性,避免因操作不当导致服务不可用或数据丢失。</think>### **Jenkins 管理员密码重置指南** 如果忘记Jenkins 管理员密码,可通过以下 **3 种方法**重置密码(需具备服务器文件访问权限): --- ### **方法一:通过配置文件重置(推荐)** #### **适用场景** 直接访问 Jenkins 文件系统(物理机、虚拟机或容器内部)。 #### **操作步骤** 1. **停止 Jenkins 服务** 根据部署方式执行命令: ```bash # Systemd 服务(Linux 默认) sudo systemctl stop jenkins # Docker 容器 docker stop jenkins_container_name ``` 2. **修改安全配置文件** 定位 Jenkins 主目录(默认路径:`/var/lib/jenkins` 或 `~/.jenkins`),编辑 `config.xml`: ```bash sudo nano /var/lib/jenkins/config.xml ``` 找到 `<useSecurity>true</useSecurity>`,将其改为 **`false`**,并删除 `<authorizationStrategy>` 和 `<securityRealm>` 标签之间的全部内容。保存文件。 3. **重启 Jenkins 服务** ```bash # Systemd 服务 sudo systemctl start jenkins # Docker 容器 docker start jenkins_container_name ``` 4. **关闭身份验证** 访问 `http://jenkins-server:port`,此时无需登录即可进入管理界面。 - 进入 **Manage Jenkins > Security**,重新启用安全设置。 - 在 **Manage Users** 中重置管理员密码或创建新账户。 --- ### **方法二:通过初始化脚本重置(容器化部署)** #### **适用场景** Jenkins 运行在 Docker 容器中,且无法直接修改配置文件。 #### **操作步骤** 1. **进入容器 Shell** ```bash docker exec -it jenkins_container_name /bin/bash ``` 2. **生成加密密码** 使用 Jenkins 内置工具生成密码哈希值(替换 `newpassword`): ```bash java -jar /usr/share/jenkins/jenkins.war hash-password ``` 输入密码后,复制输出的哈希字符串(如 `#jbcrypt:$2a$10$...`)。 3. **修改用户配置文件** 编辑 `$JENKINS_HOME/users/admin_*/config.xml`,替换 `<passwordHash>` 字段: ```xml <passwordHash>#jbcrypt:$2a$10$...生成的哈希值...</passwordHash> ``` 4. **重启容器** ```bash docker restart jenkins_container_name ``` --- ### **方法三:通过 Groovy 脚本重置(无需停机)** #### **适用场景** 需动态修改密码且保持 Jenkins 在线。 #### **操作步骤** 1. **创建重置脚本** 新建文件 `reset-password.groovy`,内容如下(替换 `admin` 和 `newpassword`): ```groovy import jenkins.model.* import hudson.security.* def user = Jenkins.instance.securityRealm.userRegistry.getUser("admin") user.setPassword("newpassword") user.save() Jenkins.instance.save() ``` 2. **执行脚本** 通过 Jenkins CLI 或直接放置到 `$JENKINS_HOME/init.groovy.d/` 目录: ```bash java -jar jenkins-cli.jar -s http://jenkins-server:port/ groovy reset-password.groovy ``` --- ### **验证与注意事项** - **密码复杂度**:新密码需符合 Jenkins 安全策略(建议包含大小写字母、数字、符号)。 - **权限检查**:确保操作账户有权限修改 Jenkins 文件。 - **备份配置**:修改前备份 `$JENKINS_HOME` 目录。 - **防火墙规则**:若通过 CLI 执行,确保防火墙允许 Jenkins 端口通信。 --- ### **附:默认密码恢复(仅初次安装)** 如果 Jenkins 是全新安装且未配置过用户,默认管理员密码位于: ```bash cat /var/lib/jenkins/secrets/initialAdminPassword ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大鹅i

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值