Jenkins: Hướng dẫn reset mật khẩu user Jenkins Admin

Hướng dẫn reset mật khẩu user Jenkins Admin | Trong trường hợp bạn quên mật khẩu của user admin để đăng nhập vào giao diện quản lý dịch vụ Jenkins CI như thế này hay bạn gán sai quyền làm bạn mất quyền admin không thể thao tác được:

jenkins login user admin failed

thì bạn biết phải làm sao đây? Không có gì phải lo lắng khi mà bạn đã có các cách giải quyết vô cùng đơn giản trong phần trình bày dưới.

reset mật khẩu user jenkins admin
reset mật khẩu user jenkins admin

Có thể bạn cũng quan tâm chủ đề Jenkins
Hướng dẫn cài đặt Jenkins trên CentOS 7

Các cách reset mật khẩu user Jenkins Admin

1. Thay đổi thông tin mật khẩu user Jenkins

Với cách thức này thì tính năng ‘Security’ của Jenkins vẫn sẽ được kích hoạt. Bạn chỉ cần cập nhật lại chuỗi mật khẩu hash được khởi tạo từ Java Bcrypt trong file config của user tương ứng là được. Đây được đánh giá là cách an toàn nhất. Giả sử user ta cần thay đổi thông tin mật khẩu là ‘admin‘.

# cat /var/lib/jenkins/users/admin/config.xml | grep -i password
<passwordHash>#jbcrypt:$2a$10$iRlEeZO6.H/GwP2.EcyymeQI/qK8dyeCZN.TG497f07UIL7xryxv2</passwordHash>

– Giờ bạn cần chuỗi mật khẩu mới được encrypt bởi Java Bcrypt . Dùng module ‘bcrypt‘ của Python kết hợp thông tin ‘round = 10 ($10)‘ và ‘salt string = 2a ($2a)‘ như ở chuỗi mật khẩu mà Jenkins đã lưu trong file trước đó, mình encrypt chuỗi mật khẩu mới ‘abc123‘ thành :

# pip install bcrypt
# python
>>> import bcrypt
>>> bcrypt.hashpw("abc123", bcrypt.gensalt(rounds=10, prefix=b"2a"))
'$2a$10$N.SptXOLb9dkESxNNh4eAe.L7ngrHzxVaHUW.YS6ub0H.HSY41eJ2'
abc123 -> $2a$10$N.SptXOLb9dkESxNNh4eAe.L7ngrHzxVaHUW.YS6ub0H.HSY41eJ2

– Giờ thì bạn chỉ cần thế chuỗi ‘<passwordHash> … </passwordHash>>‘ cũ thành chuỗi mới.

# vi /var/lib/jenkins/users/admin/config.xml
<passwordHash>#jbcrypt:$2a$10$iRlEeZO6.H/GwP2.EcyymeQI/qK8dyeCZN.TG497f07UIL7xryxv2</passwordHash>

thành , nhớ giữ thông tin ‘#jbcrypt:’ .

<passwordHash>#jbcrypt:$2a$10$N.SptXOLb9dkESxNNh4eAe.L7ngrHzxVaHUW.YS6ub0H.HSY41eJ2</passwordHash>

– Lưu file và sau đó khởi động lại dịch vụ Jenkins.

# systemctl restart jenkins

– Sau đó bạn đăng nhập lại thử vào trang quản lý Jenkins với thông tin mật khẩu mới ‘abc123‘ vừa được thay thế.

2. Tắt tính năng bảo mật (Security) của Jenkins

Trong cách thức này, chúng ta sẽ tắt tính năng bảo mật (Security) của Jenkins và tất cả user đều có thể đăng nhập vào giao diện quản lý Jenkins mà không cần mật khẩu. Sau khi đăng nhập vào rồi thì ta sẽ tinh chỉnh bật lại tính năng Security của Jenkins như cũ. Cách này mang lại rủi ro là vào thời điểm bạn tắt thì ai cũng có thể chui vào được hệ thống Jenkins của bạn.

– Dừng dịch vụ Jenkins trước tiên.

# systemctl stop jenkins

– Chỉnh sửa file cấu hình dịch vụ Jenkins tại thư mục $JENKINS_HOME . Chúng ta sẽ tắt chức năng bảo mật bằng cách set giá trị ‘<useSecurity>true</useSecurity>‘ sang ‘<useSecurity>false</useSecurity>‘.

# vi /var/lib/jenkins/config.xml
<useSecurity>true</useSecurity>

thành

<useSecurity>false</useSecurity>

– Khởi động lại dịch vụ Jenkins.

# systemctl start jenkins

Sau đó hãy đăng nhập lại vào Jenkins mà không cần mật khẩu. Nhớ bật lại tính năng Security của Jenkins trong phần ‘Manage Jenkins‘ -> ‘Configure Global Security‘.

jenkins config global security

Như vậy là bạn đã biết 2 cách chính để giúp bạn khôi phục lại mật khẩu User Jenkins Admin hoặc User thường khác rồi phải không nào. Chúc các bạn thực hiện thành công.

Nguồn: https://cuongquach.com/

Previous articleHướng dẫn cài đặt Jenkins trên CentOS 7
Next articleEbook Cracking the Coding Interview 6th Edition (PDF)
Bạn đang theo dõi website "https://cuongquach.com/" nơi lưu trữ những kiến thức tổng hợp và chia sẻ cá nhân về Quản Trị Hệ Thống Dịch Vụ & Mạng, được xây dựng lại dưới nền tảng kinh nghiệm của bản thân mình, Quách Chí Cường. Hy vọng bạn sẽ thích nơi này !