当前位置: 首页 > article >正文

安装 Jenkins 后无法访问用户名或密码且忘记这些凭证怎么办?

Jenkins 是一款功能强大的自动化服务器,在持续集成与交付(CI/CD)领域应用广泛。不过,用户在使用过程中,尤其是首次接触该系统或系统重启后,常常会遇到登录方面的问题。要是 Jenkins 突然要求输入用户名和密码,而你又不知道去哪里找,别着急,这篇指南会告诉你原因以及如何重新获取访问权限。

一、了解 Jenkins 认证机制

(一)首次登录(基于密钥)

在初次安装 Jenkins 时,系统采用的是基于密钥的认证方式。通常会生成一个初始管理员密码,并将其存储在 Jenkins 主目录下的某个文件中。完成初始设置以及配置管理员账户时,就需要用到这个密码。

(二)后续登录(用户名和密码)

完成初始设置后,登录 Jenkins 就得使用用户名和密码了。要是你之前跳过了创建管理员账户这一步,或者忘记了登录凭证,那就得想办法找回或重置,才能重新登录系统。

二、查找 Jenkins 凭证的位置

(一)初始管理员密码(首次设置时)

初始管理员密码的存储位置如下:

  • Linux 系统:/var/lib/jenkins/secrets/initialAdminPassword
  • Windows 系统:%JENKINS_HOME%\secrets\initialAdminPassword

获取密码的方法如下:

  • 使用文本编辑器或命令行工具打开相应文件。
    • Linux 系统下,在终端输入cat /var/lib/jenkins/secrets/initialAdminPassword
    • Windows 系统则用记事本或其他文本编辑器打开文件。
  • 然后使用获取到的密码,以admin为用户名进行登录。

(二)自定义管理员凭证(完成设置后)

如果在设置过程中创建了管理员账户,那就使用当时配置的用户名和密码登录。要是忘记了这些凭证,那就继续往下看如何重置。

三、解决登录问题的步骤

(一)获取初始管理员密码(适用于设置未完成的情况)

  • 按照前面说的方法找到initialAdminPassword文件。
  • admin为用户名,用获取到的密码登录系统。

(二)重置凭证(已经设置过管理员用户但忘记凭证时)

这里有两种方法供你选择:

方法一:通过配置文件重置密码

  • 停止 Jenkins 服务:
    • Linux 系统下,在终端输入sudo systemctl stop jenkins
    • Windows 系统则从服务应用程序中找到 Jenkins 服务并停止它。
  • 编辑config.xml文件:
    • 先找到 Jenkins 的主目录。
    • 打开config.xml文件,找到<useSecurity>true</useSecurity>这个标签。
    • 把它改成<useSecurity>false</useSecurity>或者直接删除这个标签。
  • 重启 Jenkins 服务:
    • Linux 系统下,在终端输入sudo systemctl start jenkins
    • Windows 系统则从服务应用程序中重启 Jenkins 服务。
  • 此时无需凭证即可登录。登录后重新启用安全设置,并创建新的管理员用户。
方法二:通过命令行或脚本控制台创建新管理员用户

  • 打开 Jenkins 的命令行界面(CLI)或脚本控制台。
  • 运行以下 Groovy 脚本创建新的管理员用户:
    jenkins.model.Jenkins.instance.securityRealm.createAccount('newAdmin', 'newPassword')
  • 最后使用新创建的用户名和密码登录系统。

四、凭证管理的最佳实践

  • 安全存储:将 Jenkins 凭证妥善保存在密码管理器中,确保安全。
  • 定期备份:定期备份 Jenkins 的配置文件和主目录,以防万一。
  • 外部认证:考虑将 Jenkins 与 LDAP 或 SSO 等外部认证系统集成,简化用户管理工作。

虽然 Jenkins 登录问题可能会让人头疼,但只要了解了认证过程,知道如何找回或重置凭证,就能快速解决问题,重新获得系统访问权限。按照本指南的步骤操作,你就能轻松应对这些挑战,维持一个安全高效的 CI/CD 环境。


http://www.kler.cn/a/501126.html

相关文章:

  • 1.CSS的复合选择器
  • 【前端】【HTML】入门基础知识
  • SQL-leetcode-584. 寻找用户推荐人
  • PyCharm文档管理
  • Jaeger UI使用、采集应用API排除特定路径
  • WEB前端-3.2
  • 蓝桥杯历届真题 #分布式队列 (Java,C++)
  • 未来量子计算技术会如何影响音频DSP的发展?
  • 分布式光纤传感器行业:市场潜力巨大,技术革新引领未来
  • 【芯片封测学习专栏 -- D2D 和 C2C 之间的区别】
  • 义乌购的反爬虫机制怎么应对?
  • 音频数据增强:提升音频信号质量的多种技术
  • STM32Flash读写BUG,坑—————4字对齐
  • 《拉依达的嵌入式\驱动面试宝典》—操作系统篇(六)
  • Golang——rune和byte
  • 单片机实物成品-011 火灾监测
  • Python基础知识回顾-数据结构
  • Linux电源管理——Suspend-to-Idle(s2idle) 流程
  • mysql中创建计算字段
  • 网络原理(二)—— https
  • 使用 Python 实现自动化办公(邮件、Excel)
  • 支持向量机算法详解:从理论到实践
  • Redis 源码分析-内部数据结构 dict
  • acwing_5721_化学方程式配平
  • 预编译SQL
  • unity下载newtonsoft-json