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

安装 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.lryc.cn/news/520713.html

相关文章:

  • day08_Kafka
  • 安装conda 环境
  • 【dockerros2】ROS2节点通信:docker容器之间/docker容器与宿主机之间
  • 使用外网访问在群晖中搭建思源docker
  • 深度学习中的EMA技术:原理、实现与实验分析
  • win32汇编环境,窗口程序中对按钮控件常用操作的示例
  • CentOS 7.9 通过 yum 安装 Docker
  • 【开源免费】基于Vue和SpringBoot的英语知识应用网站(附论文)
  • 工具推荐:PDFgear——免费且强大的PDF编辑工具 v2.1.12
  • Web渗透测试之XSS跨站脚本 防御[WAF]绕过手法
  • MMDetection框架下的常见目标检测与分割模型综述与实践指南
  • 怎么实现Redis的高可用?
  • OpenCV实现Kuwahara滤波
  • WINFORM - DevExpress -> DevExpress总结[安装、案例]
  • Golang学习笔记_22——Reader示例
  • 【2024年华为OD机试】(A卷,100分)- 猜字谜(Java JS PythonC/C++)
  • iostat命令详解
  • Linux:操作系统简介
  • 企业级信息系统开发讲课笔记4.12 Spring Boot默认缓存管理
  • 2025制定一个高级java开发路线:分布式系统、多线程编程、高并发经验
  • 20250110_ PyTorch中的张量操作
  • hadoop-yarn常用命令
  • LabVIEW滤波器功能
  • 【Unity3D日常开发】Unity3D中打开Window文件对话框打开文件(PC版)
  • ros2笔记-6.2 使用urdf创建机器人模型
  • 【centos】校时服务创建-频率修改
  • J.U.C(1)
  • 计算机网络之---静态路由与动态路由
  • Kubernetes1.28 编译 kubeadm修改证书有效期到 100年.并更新k8s集群证书
  • C++----STL(string)