温馨提示×

ubuntu jenkins怎么重置密码

小樊
46
2026-10-13 01:49:42
栏目: 智能运维

在 Ubuntu 上重置 Jenkins 管理员密码,常见有几种方法,按安全程度和操作复杂度从简单到“暴力”排列如下:


方法一:修改 Jenkins 用户配置文件(推荐,无需重启服务太多)

1. 找到 Jenkins 用户文件

Jenkins 用户数据通常在:

/var/lib/jenkins/users/

查看用户目录:

ls /var/lib/jenkins/users/

例如:

admin_1234567890/

2. 编辑 config.xml

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

找到 <passwordHash> 字段,类似:

<passwordHash>#jbcrypt:$2a$10$......</passwordHash>

3. 生成新密码 Hash

使用 Jenkins 自带的工具或在线 bcrypt:

使用命令行(推荐)

sudo apt install python3-bcrypt -y
python3 -c "import bcrypt; print(bcrypt.hashpw(b'admin123', bcrypt.gensalt()).decode())"

复制输出的 hash,替换原 <passwordHash> 内容(保留 #jbcrypt: 前缀)。

4. 重启 Jenkins

sudo systemctl restart jenkins

登录:

  • 用户名:admin
  • 密码:admin123

方法二:禁用安全(最快,但最不安全)

1. 编辑 Jenkins 配置文件

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

将:

<useSecurity>true</useSecurity>

改为:

<useSecurity>false</useSecurity>

2. 重启 Jenkins

sudo systemctl restart jenkins

3. 登录后重置密码

  • 打开 Jenkins
  • 系统管理 → 安全 → 启用安全
  • 重新设置管理员密码

⚠️ 完成后一定要重新开启安全


方法三:命令行直接创建管理员(高级)

适合完全进不去 Jenkins 的情况,可写 Groovy 脚本:

sudo vim /var/lib/jenkins/init.groovy.d/init.groovy

内容示例:

import jenkins.model.*
import hudson.security.*

def env = System.getenv()
def jenkins = Jenkins.getInstance()

def user = new User('admin')
user.setPassword('admin123')
jenkins.save()

重启 Jenkins 后删除该脚本。


常见问题

  • Jenkins 起不来?看日志:
sudo journalctl -u jenkins -n 100
  • 权限错误?
sudo chown -R jenkins:jenkins /var/lib/jenkins

如果你告诉我:

  • Jenkins 版本
  • 是否能登录系统
  • 是否启用了 LDAP / GitHub 登录

我可以给你更精确的步骤。

0 踩