是否有一种方法来重置所有(或只是禁用安全设置)从命令行没有用户/密码,因为我已经设法完全锁定自己的詹金斯?


当前回答

简单的方法是使用admin psw登录您的admin用户:

修改为root用户:sudo su - 复制密码:xclip -sel clip < /var/lib/jenkins/secrets/initialAdminPassword 以admin登录,在密码输入框上按ctrl + v。

安装xclip如果你没有它:

安装xclip

其他回答

编辑$JENKINS_HOME/config.xml文件,修改去安全配置如下:

<authorizationStrategy class="hudson.security.AuthorizationStrategy$Unsecured"/>

之后詹金斯重启。

users/<username>/config.xml中的<passwordHash>元素将接受该格式的数据

salt:sha256("password{salt}")

所以,如果你的salt是bar,你的密码是foo,那么你可以像这样生成SHA256:

echo -n 'foo{bar}' | sha256sum

结果应该是7f128793bc057556756f4195fb72cdc5bd8c5a74dee655a6bfb59b4a4c4f4349。将哈希值和盐一起放入<passwordHash>:

<passwordHash>bar:7f128793bc057556756f4195fb72cdc5bd8c5a74dee655a6bfb59b4a4c4f4349</passwordHash>

重新启动Jenkins,然后尝试使用密码foo登录。然后将密码重置为其他密码。(Jenkins默认使用bcrypt,一轮SHA256并不是存储密码的安全方式。当你重置密码时,你会得到一个bcrypt哈希存储。)

在El-Capitan中,config.xml不能在

/var/lib/jenkins/

它可在

~ / .jenkins

然后,如前所述,打开config.xml文件并进行以下更改

将< usesecsecurity >true</ usesecsecurity >替换为< usesecsecurity >false</ usesecsecurity > 删除<authorizationStrategy>和<securityRealm> 保存它并重新启动jenkins(sudo service jenkins restart)

\.jenkins\secrets\initialAdminPassword

从initialAdminPassword文件复制密码,并将其粘贴到Jenkins中。

我发现有问题的文件位于/var/lib/jenkins中,名为config.xml,修改后解决了这个问题。