Jenkins如何重置管理员密码

 更新时间:2026年04月17日 09:47:57   作者:cly1  
本文介绍了当Jenkins管理员忘记密码且无法通过常规方式恢复时,的一种临时解决方案,包括备份配置文件、编辑Jenkins配置文件、重启服务、重置密码等步骤,但需注意此操作仅作临时处理,存在安全风险

适用场景:忘记 Jenkins 管理员(admin)密码,且无法通过正常方式恢复。

重要提示:操作前务必备份配置,避免配置丢失导致服务异常。

步骤一:备份并临时关闭 Jenkins 安全认证

1、备份原始配置文件(强烈推荐)

使用 cp -a 保留权限、时间戳等属性:

sudo cp -a /var/lib/jenkins/config.xml /var/lib/jenkins/config.xml.bak.$(date +%Y%m%d)

示例备份文件名:config.xml.bak.20260117

2、编辑 Jenkins 主配置文件

sudo vim /var/lib/jenkins/config.xml

3、移除安全域配置(Security Realm) 

删除以下内容:

<securityRealm class="hudson.security.HudsonPrivateSecurityRealm">
  <disableSignup>true</disableSignup>
  <enableCaptcha>false</enableCaptcha>
</securityRealm>

4、移除授权策略(Authorization Strategy)

删除以下内容:

<authorizationStrategy class="hudson.security.FullControlOnceLoggedInAuthorizationStrategy">
  <denyAnonymousReadAccess>true</denyAnonymousReadAccess>
</authorizationStrategy>

⚠️ 此操作将允许匿名访问 Jenkins,仅用于临时恢复,请勿长期保留。

步骤二:重启 Jenkins 服务

sudo systemctl restart jenkins

等待服务启动后,直接访问 Jenkins Web 界面(如 http://<your-jenkins-url>),此时无需登录即可进入系统。

步骤三:重置 admin 用户密码

1、进入 系统管理(Manage Jenkins)

2、点击 全局安全配置(Configure Global Security)

  • 安全域(Security Realm) 部分,选择:
  • Jenkins 专有用户数据库(Jenkins’ own user database)

可选:勾选 允许用户注册(Allow users to sign up)

3、保存配置。

4、返回 系统管理 → 用户管理(Manage Users)

5、找到 admin 用户,点击 设置(Configure)

6、在 密码(Password) 字段中输入新密码,保存。

步骤四:恢复安全配置

为保障系统安全,必须重新启用认证和授权策略:

进入 系统管理 → 全局安全配置

安全域(Security Realm):保持为 Jenkins 专有用户数据库

授权策略(Authorization):根据环境选择:

  • 开发/测试:登录用户可以做任何事(Logged-in users can do anything)
  • 生产环境:建议使用 基于角色的策略(Role-Based Strategy)(需安装 Role Strategy Plugin

勾选 拒绝匿名用户读取访问(Prevent anonymous read access)(如需要)

此时 Web 界面配置会自动更新 config.xml,无需手动编辑。

恢复备份(可选)

若操作失败或需回滚,可使用备份恢复:

sudo cp -a /var/lib/jenkins/config.xml.bak.20260117 /var/lib/jenkins/config.xml
sudo systemctl restart jenkins

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 使用git上传到码云分支的实现

    使用git上传到码云分支的实现

    这篇文章主要介绍了使用git上传到码云分支的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • Git撤销已经推送(push)至远端仓库的提交(commit)信息操作

    Git撤销已经推送(push)至远端仓库的提交(commit)信息操作

    这篇文章主要介绍了Git撤销已经推送(push)至远端仓库的提交(commit)信息操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-09-09
  • MacOS系统下Git的详细安装步骤与基础设置指南

    MacOS系统下Git的详细安装步骤与基础设置指南

    本文介绍了在MacOS上安装Git的的不同方法,包括通过Homebrew安装、通过XcodeCommandLineTools安装和手动下载安装包安装,此外,还还介绍了配置用户名和邮箱、配置SSH密钥、配置差异工具和Git代理等以及解决安装过程中可能出现的常见问题,需要的朋友可以参考下
    2026-04-04
  • 微信支付 :curl出错,错误码:60两个问题的解决

    微信支付 :curl出错,错误码:60两个问题的解决

    这篇文章主要介绍了微信支付 出错的解决办法的相关资料,需要的朋友可以参考下
    2016-09-09
  • WebSocket部署到服务器出现连接失败问题的分析与解决

    WebSocket部署到服务器出现连接失败问题的分析与解决

    这篇文章主要给大家介绍了关于WebSocket部署到服务器出现连接失败问题的分析与解决方法,文中给出了详细的介绍供大家参考学习,文末也给出了demo下载地址,需要的朋友们可以下载学习,下面随着小编来一起学习学习吧。
    2017-10-10
  • Git忽略提交的3种方法及Git忽略规则

    Git忽略提交的3种方法及Git忽略规则

    在使用Git的过程中,我们喜欢有的文件比如日志,临时文件,编译的中间文件等不要提交到代码仓库,这时就要设置相应的忽略规则今天为大家简单介绍下Git的忽略及规则
    2018-10-10
  • 基于rsync写脚本实现多节点多服务器文件一键同步的方法

    基于rsync写脚本实现多节点多服务器文件一键同步的方法

    这篇文章主要介绍了利用rsync写脚本实现多节点多服务器文件一键同步,本文将介绍 scp 和 rsync 两个命令及基本语法介绍,需要的朋友可以参考下
    2022-01-01
  • idea项目全部类都爆红但能正常启动问题的解决办法

    idea项目全部类都爆红但能正常启动问题的解决办法

    这篇文章主要介绍了idea项目全部类都爆红但能正常启动问题的解决办法,当IDEA项目突然全部爆红,主启动类无法识别时,可尝试文中的两种方法修复,需要的朋友可以参考下
    2024-10-10
  • 在Git中撤回最近的commit的多种方式小结

    在Git中撤回最近的commit的多种方式小结

    在我们使用git作为版本控制工具进行代码管理之后,经常性的会碰到一个问题:git commit后,如何撤销最近的一次commit,所以本文给大家介绍了在Git中撤回最近的commit的多种方式的相关资料,需要的朋友可以参考下
    2025-10-10
  • IDEA集成Git仓库的详细实现步骤

    IDEA集成Git仓库的详细实现步骤

    本文主要介绍了IDEA集成Git仓库的详细实现步骤,包括安装配置、克隆/关联远程仓库及常见问题解决,帮助新手高效使用Git进行版本控制与团队协作,感兴趣的可以了解一下
    2025-07-07

最新评论