如何重置Jenkins的密码?

时间:2017-01-11 13:08:22

标签: security jenkins

我刚注意到我无法登录Jenkins。

如何重置密码并再次访问我的帐户?我没有看到任何恢复密码的链接,它们似乎在安装目录中被散列。

2 个答案:

答案 0 :(得分:4)

How to reset password of Jenkins中,你有一套技巧来实现这一目标。我的解决方案基于它,但它在某一点上有所不同。

这就是我为解决这个问题所做的工作:

我们假设Jenkins的目录存储在$JENKINS(我的机器中为/var/lib/jenkins/),您的用户名为user

    通过停用disableSignup
  • 允许注册。这意味着修改$JENKINS/config.xml并将此选项设置为false

    <disableSignup>false</disableSignup>
    
  • 重新启动Jenkins service jenkins restart)。

  • 输入Jenkins并注册新用户,例如testuser,密码是您要为用户设置的密码user。< / p>

  • $JENKINS/users/testuser/config.xml中提取哈希密码。你会看到类似的东西:

    <passwordHash>#jbcrypt:$2a$10$PY7p4dxFiGSgJpxiNVTQDuJKAQ8pr9snDgQXaafogjErvgB0oC3qy</passwordHash>
    
  • user中将<passwordHash>的密码设置为此密码。也就是说,编辑$JENKINS/users/user/config.xml并在那里替换密码以设置上面的密码。

  • 启用disableSignup,禁止重新注册。也就是说,在$JENKINS/config.xml中将disableSignup选项设置回true

    <disableSignup>true</disableSignup>
    
  • 重新启动Jenkins

注意您也可以通过生成jBCrypt直接替换密码。例如,在http://www.mindrot.org/projects/jBCrypt/中,您可以找到一些Java代码。

答案 1 :(得分:0)

Windows 的另一种方法为我解决了这个问题:

C:\Windows\System32\config\systemprofile\AppData\Local\Jenkins\.jenkins\config.xml,将 useSecurity 更改为 false。

enter image description here

重启Jenkins,您现在无需登录即可获得完全访问权限。转到人员,选择旧的管理员用户并删除该用户。

然后设置

<disableSignup>false</disableSignup>

<useSecurity>true</useSecurity>

再次重启 Jenkins,您现在就可以再次注册了。

终于

<disableSignup>true</disableSignup>