【问题标题】:How to "Unlock Jenkins"?如何“解锁詹金斯”?
【发布时间】:2021-08-25 15:11:37
【问题描述】:

我在windows上安装Jenkins 2,安装后打开一个页面,URL是:
http://localhost:8080/login?from=%2F

页面内容是这样的:

问题:
如何“解锁詹金斯”?

PS:我已经在文档和谷歌中寻找答案。

【问题讨论】:

  • 页面上有一个链接告诉你在哪里可以找到日志,token在日志中。
  • @warmoverflow 日志内容为:Running from: C:\Program Files (x86)\Jenkins\jenkins.war Jenkins home directory: C:\Program Files (x86)\Jenkins found at: EnvVars.masterEnvVars.get("JENKINS_HOME")不是答案。
  • 在mac中可以打开这个文件,复制密码。 /var/jenkins_home/secrets/initialAdminPassword
  • @sunshine 此线程中的任何答案都回答了您的问题吗?你仍然没有标记任何答案。

标签: jenkins


【解决方案1】:

从 Jenkins 2.0 版开始,您可以使用

-Djenkins.install.runSetupWizard=false 

为了防止这个屏幕。

根据文档

jenkins.install.runSetupWizard - 设置为 false 以跳过安装向导。请注意,默认情况下这会使 Jenkins 不安全。 仅限开发模式:设置为 true 以在 Jenkins 开发期间不跳过显示设置向导。

有关 Jenkins 属性的更多详细信息,请参阅此Jenkins Wiki page。

【讨论】:

  • 另外:$JENKINS_ARGS in /etc/default/jenkins 用于 Debian/Ubuntu `/etc/sysconfig/jenkins` 用于 CentOS/RedHat
【解决方案2】:

检查 https://wiki.jenkins-ci.org/display/JENKINS/Logging 以查看 Jenkins 记录其文件的位置。

例如对于 Linux,使用命令:less /var/log/jenkins/jenkins.log

然后向下滚动到部分:“Jenkins 初始设置是必需的。已创建管理员用户...继续安装:

[randompasswordhere]

Linux

默认情况下,日志应在 /var/log/jenkins/jenkins.log 中提供,除非在 /etc/default/jenkins(对于 *.deb)或通过 /etc/sysconfig/jenkins(对于 */rpm)进行自定义

Windows

默认情况下,日志应位于%JENKINS_HOME%/jenkins.out and %JENKINS_HOME%/jenkins.err,除非在 %JENKINS_HOME%/jenkins.xml 中自定义

Mac OS X

日志文件应位于/var/log/jenkins/jenkins.log,除非在 org.jenkins-ci.plist 中自定义

【讨论】:

  • 我在 ec2 窗口服务器实例文件夹 C:\Program Files\Jenkins 的 jenkins.err 文件中找到密码
【解决方案3】:
  1. 打开文件:e:\Program Files (x86)\Jenkins\secrets\initialAdminPassword
  2. 复制内容文件:47c5d4f760014e54a6bffc27bd95c077
  3. 粘贴输入:http://localhost:8080/login?from=%2F

完成

【讨论】:

    【解决方案4】:

    上面的一些说明似乎已经过时了。从发布的 2.0 版本开始,创建以下文件会导致 Jenkins 跳过解锁屏幕:

    ${JENKINS_HOME}/jenkins.install.InstallUtil.lastExecVersion
    

    此文件必须包含字符串2.0 不带任何行终止符。我不确定这是否是必需的,但 Jenkins 还将所有者/组设置为与 Jenkins 服务器相同,所以这可能也是模仿的好东西。

    我确实不需要需要创建upgraded 或.last_exec_version 文件。

    【讨论】:

      【解决方案5】:

      我假设您使用java -jar jenkins.war 手动运行 jenkins.war,然后所有日志信息默认输出到标准输出,只需键入令牌来解锁 jenkins2.0。

      如果您没有使用 java -jar jenkins.war 运行 jenkins,那么您可以随时按照此 Official Document 查找正确的日志位置。

      【讨论】:

      • 嗯,日志文件中没有令牌。只是上面@sunshine 评论中的文字。
      【解决方案6】:
      1. 打开您的终端并在下面输入代码以查找所有容器。

        码头集装箱列表-a

      2. 如果不是,你会发现 jenkinsci/blueocean 和/或 docker:dind

        docker container run --name jenkins-docker --rm --detach ^ --privileged --network jenkins --network-alias docker ^ --env DOCKER_TLS_CERTDIR=/certs ^ --volume jenkins-docker-certs:/certs/client ^ --volume jenkins-data:/var/jenkins_home ^ --volume "%HOMEDRIVE%%HOMEPATH%":/home ^ docker:dind

                 and
        

        docker container run --name jenkins-blueocean --rm --detach ^ --network jenkins --env DOCKER_HOST=tcp://docker:2376 ^ --env DOCKER_CERT_PATH=/certs/client --env DOCKER_TLS_VERIFY=1 ^ --volume jenkins-data:/var/jenkins_home ^ --volume jenkins-docker-certs:/certs/client:ro ^ --volume "%HOMEDRIVE%%HOMEPATH%":/home ^ --publish 8080:8080 --publish 50000:50000 jenkinsci/blueocean

      3. 运行命令

        docker 运行 jenkinsci/blueocean 或者 docker run docker:dind

      4. 复制并粘贴密钥。

      【讨论】:

        【解决方案7】:

        阻止安装向导的一种方法是在$JENKINS_HOME 中执行以下操作:

        1. 创建一个名为.last_exec_version的空文件
        2. 创建一个名为upgraded的文件
          • 如果留空,横幅会提示您“升级”到 2.0(这意味着安装一堆新插件,例如 Pipeline)
          • 如果该文件的内容是 2.0,您将不会收到任何横幅,并且它会像常规的旧 Jenkins 安装一样运行

        请记住,此向导用于防止在设置过程中未经授权访问 Jenkins。但是,如果您想使用 Ansible/Puppet/etc 等自动安装 Jenkins,则绕过此向导会很有用。

        这是针对 Jenkins 2.0-beta-1 进行测试的,因此这些说明在未来的 beta 或稳定版本中可能不起作用。

        【讨论】:

          【解决方案8】:

          在mac中使用:

          sudo more /Users/Shared/Jenkins/Home/secrets/initialAdminPassword
          

          【讨论】:

            【解决方案9】:

            我已经看到很多对这个问题的回答,其中大多数实际上是解决了这个问题,但是当 jenkins 实际作为一个独立的 CI 运行而没有应用程序容器使用命令时,他们解决了这个问题:

            java -jar jenkins.war
            

            但是当在 Tomcat 上运行时,因为该软件在容器上运行,所以 Jenkins 日志会显示在 catalina 日志中。 所以你需要去日志文件夹:

            C:\Program Files\tomcat_folder\Tomcat 8.5\logs\catalina.log 
            

            在我自己的情况下。只需滚动几乎到中间即可查找生成的密码,该密码本质上是一个令牌,然后复制并粘贴它以解锁 jenkins。

            我希望这能解决您的问题。

            【讨论】:

            • 如果您无法访问服务器日志,或者像我一样将其删除,请在该位置查找密码 - C:\Users\<username>\.jenkins\secrets\initialAdminPassword。这是适用于 Windows 的。
            【解决方案10】:

            第 1 步:在 Mac 上打开终端

            第 2 步:连接或粘贴

            sudo cat **/Users/Shared/Jenkins/Home/secrets/initialAdminPassword**
            

            第3步:它会要求输入密码,输入你的mac密码并输入

            第 4 步:将生成密钥。

            第 5 步:在 Jenkins 中复制并粘贴安全令牌

            第 6 步:点击继续

            【讨论】:

              【解决方案11】:

              我在安装目录的以下文件中找到了令牌:

              <jenkins install dir>\users\admin\config.xml
              

              和元素

              <jenkins.install.SetupWizard_-AuthenticationKey>
              <key> THE KEY </key>
              </jenkins.install.SetupWizard_-AuthenticationKey>
              

              【讨论】:

                【解决方案12】:

                您可能会在 catalina.out 中看到它。我在 tomcat 中安装了 Jenkins war,我可以在 catalina.out 中看到这个

                【讨论】:

                  【解决方案13】:

                  以下方法不再适用于 2.42.2

                  创建一个名为 .last_exec_version 的空文件 创建一个名为 upgrade 的文件 如果留空,横幅会提示您“升级”到 2.0(这意味着安装一堆新插件,例如 Pipeline) 如果该文件的内容是 2.0,您将不会收到任何横幅,它会像常规的旧 Jenkins 安装一样运行

                  【讨论】:

                    【解决方案14】:

                    如果你在那里找不到初始管理员密码的路径,大部分情况下 jenkins 会向你显示路径,那么你必须检查 jenkins 日志

                    在日志中你会看到

                    05-May-2017 01:01:41.854 INFO [Jenkins 初始化线程] jenkins.install.SetupWizard.init




                    需要 Jenkins 初始设置。已创建管理员用户并生成密码。 请使用以下密码进行安装:

                    7c249e4ed93c4596972f57e55f7ff32e

                    这也可以在以下位置找到:/opt/tomcat/.jenkins/secrets/initialAdminPassword




                    【讨论】:

                      【解决方案15】:

                      使用 lil 快捷方式进入文件夹:

                      cmd + shift + g

                      然后插入 /Users/Shared/Jenkins

                      在那里你可以看到秘密文件夹 - 可能表明它已被锁定。

                      解锁:右键单击文件夹并单击信息+单击底部的锁。现在您可以更改窗口底部显示的权限

                      希望有所帮助:)

                      你好,斯蒂芬妮 ^__^

                      【讨论】:

                        【解决方案16】:

                        如果在C:\Windows\System32\config\systemprofile\.jenkins\secrets\initialAdminPassword位置找不到Jenkins密码

                        通过在 Tomcat 服务器上安装 Jenkins 通用战争,试试下面

                        解决方案: 将环境变量JENKINS_HOME 设置为你的詹金斯路径说

                        JENKINS_HOME ="C:/users/username/apachetomcat/webapps/jenkins"
                        

                        将Jenkins.war放在Tomcat的webapp文件夹下,启动Tomcat, 在路径中生成初始管理员密码

                        C:\Program Files (x86)\Apache Software Foundation\Tomcat 9.0\webapps\jenkins\secrets\initialAdminPassword
                        

                        【讨论】:

                          【解决方案17】:

                          绕过解锁屏幕的另一种方法是将 UpgradeWizard 状态复制到 InstallUtil 最后执行版本,添加内容为“false”的 install.runSetupWizard 文件,并将 config.xml installStateName 从 NEW 更新为 RUNNING。

                          docker exec -it jenkins bash
                          sed -i s/NEW/RUNNING/ /var/jenkins_home/config.xml
                          echo 'false' > /var/jenkins_home/jenkins.install.runSetupWizard
                          cp /var/jenkins_home/jenkins.install.UpgradeWizard.state /var/jenkins_home/jenkins.install.InstallUtil.lastExecVersion
                          exit
                          docker restart jenkins
                          

                          作为参考,这是我用来运行 jenkins 的命令:

                          docker run --rm --name jenkins --network host -u root -d -v jenkins:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock jenkinsci/blueocean:1.16.0
                          

                          您还需要使用根 URL 更新配置:

                          echo "<?xml version='1.1' encoding='UTF-8'?><jenkins.model.JenkinsLocationConfiguration><jenkinsUrl>http://<IP>:8080/</jenkinsUrl></jenkins.model.JenkinsLocationConfiguration>" > jenkins.model.JenkinsLocationConfiguration.xml
                          exit
                          docker restart jenkins
                          

                          【讨论】:

                            【解决方案18】:

                            如果您安装/升级了新版本的 jenkins 并且无法在服务器上找到管理员凭据,那么...

                            如果您使用的是旧版本的 jenkins,并且您正在尝试重新安装/升级新版本的 jenkins,

                            “JENKINS_HOME”下的文件,即-

                            1. ${JENKINS_HOME}/jenkins.install.InstallUtil.lastExecVersion
                            2. ${JENKINS_HOME}/jenkins.install.UpgradeWizard.state

                            将导致 jenkins 跳过解锁(或管理员凭据屏幕),网页直接询问您的用户名和密码。即使在服务器上,您也无法找到“${JENKINS_HOME}/secrets/initialAdminPassword”。

                            在这种情况下,不要惊慌。只需尝试在新安装/升级的詹金斯服务器中使用旧的管理员用户凭据。

                            简单来说,如果你在旧版本的 jenkins 服务器中拥有 admin/admin 管理员凭据,那么升级 jenkins 服务器后,新服务器不会再要求你为 admin 用户设置密码。事实上,它只会使用旧的凭据。

                            【讨论】:

                            • 谢谢。这让我跳过了初始设置页面。
                            【解决方案19】:

                            转到 C:\Program Files (x86)\Jenkins\secrets

                            然后用记事本++打开文件inittail Admin Password并粘贴其内容。

                            就是这样

                            【讨论】:

                              【解决方案20】:

                              -->如果您使用的是 linux 机器,则以 root 用户身份登录:sudo su

                              -->然后转到下面的路径:cd /var/lib/jenkins/secrets

                              -->只要查看IntialAdminPassword文件,就可以看到秘钥了。

                              -->将秘钥粘贴到jenkins窗口中,即可解锁。

                              【讨论】:

                                【解决方案21】:

                                https://issues.jenkins-ci.org/browse/JENKINS-35981

                                在浏览器中试试这个 %2Fjenkins%2F 而不是 %2Fjenkins

                                【讨论】:

                                  【解决方案22】:
                                  1. 在 Mac 上打开终端并打开新窗口(command+T)
                                  2. 粘贴 sudo cat /Users/Shared/Jenkins/Home/secrets/initialAdminPassword
                                  3. 它会要求输入密码,输入你的密码(我给了我的mac密码,我没有检查是否有其他密码可以工作)然后输入
                                  4. 将生成一个密钥。
                                  5. 复制密钥并将其粘贴到要求您输入管理员密码的位置
                                  6. 点击继续

                                  【讨论】:

                                    【解决方案23】:

                                    问题可以在最新版本中修复:我的是 2.4。错误是由于 URL 中的 %2fjenkins%2f 引起的。以前的版本带有 %2fjenkins 并且曾经出现同样的错误。他们已经解决了这个问题,但 URL 已从 %2fjenkins 更改为 %2fjenkins%。因此,作为 URL 中的摘要,当前 %2fjenkins% 即将到来。在传递管理员密码之前将其更改为 %2fjenkins。同时添加一个 .last_exec_version 空文件。

                                    【讨论】:

                                      【解决方案24】:

                                      如果有人选择将 Jenkins 作为 Docker 容器运行,我可能会遇到同样的问题。
                                      因为accessing-the-jenkins-blue-ocean-docker-container完全不同,
                                      常见问题是/var/lib/jenkins/secrets: No such file or directory
                                      您需要通过Docker访问,Jenkins提供的链接很有帮助。
                                      除了&lt;docker-container-name&gt;可能没有指定,那么你可能需要使用容器ID。

                                      之后

                                      docker exec -it jenkins-blueocean bash

                                      或

                                      docker exec -it YOUR_JENKINS_CONTAINER_ID bash

                                      /var/lib/jenkins/secrets/initialAdminPassword 可以访问。

                                      密码就在那里。

                                      【讨论】:

                                        【解决方案25】:

                                        我已经使用 Brew 设置了 Jenkins,但是当我重新启动 Mac 时,Jenkins 要求输入 initialAdminPassword(相关截图)

                                        问题是它不是在 sercret 目录下生成的。

                                        所以我发现在端口:8080 上运行的 Jenkins 进程使用:$ sudo lsof -i -n -P | grep TCP 并使用 $ sudo kill 66(66 是进程 ID)将其杀死。

                                        然后我从:https://jenkins.io/download/

                                        下载了最新的 jenkins .war 文件

                                        并执行命令:$ java -jar jenkins.war(确保您在 jenkins.war 目录中)。

                                        就是这样,一切正常。

                                        【讨论】:

                                          【解决方案26】:

                                          当您在 Windows 上使用 Docker 并使用 Git-Bash 时,这很有效

                                          假设如下:

                                          # docker run --detach --publish 8080:8080 --volume jenkins_home:/var/jenkins_home --name jenkins jenkins/jenkins:lts
                                          

                                          执行获取Container ID,例如“d56686cb700d”

                                          # docker ps -l
                                          

                                          现在告诉 Docker 返回该容器 ID 的日志中写入的密码:

                                          # docker logs d56686cb700d 2>&1 | grep -A5 -B5 Admin
                                          
                                          • 2>&1 将标准错误重定向到标准输出
                                          • -A5 在“Admin”行之后包含 5 行
                                          • -B5 在“Admin”行之前包含 5 行

                                          输出示例:

                                          Jenkins initial setup is required. An admin user has been created and a password generated.
                                          Please use the following password to proceed to installation:
                                          
                                          47647383733f4387a0d53c873334b707
                                          
                                          This may also be found at: /var/jenkins_home/secrets/initialAdminPassword
                                          
                                          *************************************************************
                                          *************************************************************
                                          *************************************************************
                                          

                                          【讨论】:

                                            【解决方案27】:

                                            我在下面的目录下找到了它。完整问题详情https://github.com/jenkinsci/ibm-security-appscansource-scanner-plugin/issues/2

                                            C:\Windows\SysWOW64\config\systemprofile\AppData\Local\Jenkins\.jenkins

                                            【讨论】:

                                              【解决方案28】:

                                              在C:\Program Files\Jenkins\ 中打开jenkins.err 文件。 在该文件中检查此行之后的哈希键

                                              Jenkins initial setup is required. An admin user has been created and a password generated.
                                              Please use the following password to proceed to installation:
                                              

                                              并将其粘贴到 jenkins 提示符中。为我工作。

                                              【讨论】:

                                                【解决方案29】:

                                                解决 Ubuntu 18.04.5 LTS (Bionic Beaver) 中 docker 容器的这个问题 - Ubuntu 版本

                                                1- 连接到您的 docker 服务器或 ubuntu 服务器,使用 ssh 或其他方法

                                                2- 运行 sudo docker ps

                                                3-复制容器名称参数(“NAMES”)

                                                4- 运行 sudo docker logs "your_parameters_NAMES_VALUES"

                                                5- 找到以下句子“Jenkins 初始设置是必需的。已创建管理员用户并生成密码。 请使用以下密码继续安装:”并复制密码

                                                【讨论】:

                                                  【解决方案30】:

                                                  我在C:\Program Files\Jenkins\jenkins.err 中找到了密码。打开jenkins.err文本文件并向下滚动,您将找到密码。

                                                  【讨论】:

                                                    猜你喜欢
                                                    • 1970-01-01
                                                    • 1970-01-01
                                                    • 1970-01-01
                                                    • 1970-01-01
                                                    • 2020-03-30
                                                    • 1970-01-01
                                                    • 2018-06-19
                                                    • 1970-01-01
                                                    • 1970-01-01
                                                    相关资源
                                                    最近更新 更多