我刚注意到我无法登录Jenkins。
如何重置密码并再次访问我的帐户?我没有看到任何恢复密码的链接,它们似乎在安装目录中被散列。
答案 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。
重启Jenkins,您现在无需登录即可获得完全访问权限。转到人员,选择旧的管理员用户并删除该用户。
然后设置
<disableSignup>false</disableSignup>
和
<useSecurity>true</useSecurity>
再次重启 Jenkins,您现在就可以再次注册了。
终于
<disableSignup>true</disableSignup>