hoatranlab.io.vn Zalo: 0917516878 Hotline: 0917516878 [email protected]
HoaTranLab HoaTranLab
Recovery · Break-Glass

Khôi Phục & Reset Mật Khẩu root ESXi · root VCSA · [email protected]

Đặt lại / khôi phục mật khẩu khi bị mất, quên hoặc hết hạn — chính xác cho ESXi 7.x/8.x/9.x và vCenter Server Appliance (VCSA) 7.0/8.0/9.0.

~1 giờ Advanced Password Recovery Break-Glass
Áp dụng cho ESXi 7.0 / 8.0 / 9.0 & vCenter Server 7.0 / 8.0 / 9.0 (Photon OS appliance)

Mục tiêu

  • Reset mật khẩu root ESXi qua Host Profile / Active Directory / cài lại — và hiểu cách unsupported (sửa shadow) cùng rủi ro
  • Khôi phục mật khẩu root của VCSA (OS Photon) qua GRUB khi mất/quên/hết hạn
  • Reset / unlock [email protected] (SSO domain) bằng vdcadmintool
  • Phân biệt 3 loại tài khoản dễ nhầm lẫn và xử lý lỗi password expired
  • Áp dụng quy trình break-glass an toàn (snapshot, console access, audit)

Lý Thuyết — Phân Biệt 3 Loại Tài Khoản

Trước khi reset, phải xác định đúng tài khoản nào đang gặp vấn đề. Nhầm lẫn giữa 3 tài khoản dưới đây là nguyên nhân số 1 khiến thao tác sai hoặc làm hỏng hệ thống.

Tài khoảnPhạm viĐăng nhập ở đâuCách reset chính
root (ESXi)1 host ESXi riêng lẻDCUI (F2), ESXi Host Client (https://esxi), SSHHost Profile (vCenter) · AD · Cài lại ESXi
root (VCSA)OS Photon của appliance vCenterVAMI (:5480), SSH, console VMGRUB single-user → passwd root
[email protected]SSO domain (vCenter SSO)vSphere Client (https://vcenter/ui)SSH vào VCSA → vdcadmintool

Lưu ý quan trọng trước khi bắt đầu

  • Snapshot/backup VCSA trước khi đụng GRUB hoặc vdcadmintool (chỉ snapshot khi vCenter powered off hoặc quiesced để tránh lệch DB).
  • Cần quyền truy cập console vật lý/ảo (iLO/iDRAC/IPMI cho host, vSphere/Workstation console cho VCSA) — không thể làm hoàn toàn từ xa qua SSH.
  • Nhiều case "không đăng nhập được" thực ra là password expired, không phải sai mật khẩu — xem mục xử lý hết hạn ở dưới.
  • Quy trình ESXi 7 và 8 giống nhau; VCSA 7 (Photon 3) và 8 (Photon 4/5) các bước GRUB & vdcadmintool về cơ bản giống nhau.

Quan điểm chính thức của VMware

ESXi root password:
  - KHÔNG có cơ chế "recover" mật khẩu root đã quên (không có safe mode reset).
  - Cách ĐƯỢC HỖ TRỢ (supported):
      1. Host Profile từ vCenter   → set lại root password rồi remediate
      2. Active Directory          → đăng nhập bằng AD account, đổi pass root
      3. Reinstall ESXi            → cài đè bootbank (datastore VMFS được giữ lại)
  - Sửa file /etc/shadow trong state.tgz: HOẠT ĐỘNG nhưng KHÔNG được hỗ trợ
    → chỉ dùng khi không còn lựa chọn, hiểu rõ rủi ro.

VCSA root (OS appliance):
  - Reset qua GRUB single-user mode → passwd root   (KB 2147144) → ĐƯỢC HỖ TRỢ

[email protected] (SSO):
  - Reset qua /usr/lib/vmware-vmdir/bin/vdcadmintool (KB 2146224) → ĐƯỢC HỖ TRỢ

Phần 1 — Reset Mật Khẩu root ESXi (7.x / 8.x)

Cách 1 (Khuyến nghị) — Host Profile từ vCenter

Áp dụng khi host đang được quản lý bởi vCenter. Đây là cách supported, không downtime VM, không cài lại.

Điều kiện: Host đã add vào vCenter (kết nối vẫn còn — vpxuser của vCenter
           vẫn hoạt động dù không biết pass root).

Bước 1: Tạo Host Profile từ chính host đó (hoặc host tương đương)
  vSphere Client → Policies and Profiles → Host Profiles
  → Extract Host Profile from a host → chọn host

Bước 2: Sửa root password trong profile
  Edit Host Profile → Security and Services
  → Security Settings → User Configuration → root
  → Password: "Fixed password configuration"
  → nhập mật khẩu mới → Save

Bước 3: Gán & Remediate
  Attach Host Profile vào host (hoặc cluster)
  → Right-click host → Host Profiles → Remediate
  (Host có thể cần Maintenance Mode tùy cấu hình profile)

Bước 4: Kiểm tra
  Đăng nhập DCUI (F2) hoặc Host Client https://esxi-fqdn bằng pass mới.

Cách 2 — Đăng nhập bằng Active Directory (nếu host đã join AD)

Điều kiện: ESXi đã join AD và nhóm "ESX Admins" (hoặc group cấu hình ở
           Advanced Setting Config.HostAgent.plugins.hostsvc.esxAdminsGroup)
           được map quyền Administrator.

Bước 1: SSH / Host Client login bằng tài khoản AD có quyền admin:
  ssh DOMAIN\\\\adminuser@esxi-fqdn      (hoặc adminuser@domain)

Bước 2: Đổi mật khẩu root:
  # qua ESXi Shell:
  passwd root
  # nhập mật khẩu mới 2 lần

Lưu ý ESXi 7/8: nếu chỉ Likewise/AD bị lỗi (DNS, trust), cách này không
dùng được → chuyển sang Host Profile hoặc cài lại.

Cách 3 — Cài lại ESXi (giữ nguyên Datastore VMFS & VM)

Khi host standalone, không join AD, không có Host Profile. Cài lại chỉ ghi đè boot device — VMFS datastore và VM nằm trên đó được giữ lại.

Bước 1: Boot từ ESXi 7/8 installer ISO (đúng version đang chạy).

Bước 2: Khi installer phát hiện đĩa đã có ESXi → chọn:
  "Install ESXi, preserve VMFS datastore"
  (TUYỆT ĐỐI không chọn "overwrite VMFS datastore")

Bước 3: Đặt root password mới trong wizard → hoàn tất cài → reboot.

Bước 4: Cấu hình lại networking (vSwitch/VMkernel/IP) qua DCUI nếu cần.

Bước 5: Re-register VM (nếu mất khỏi inventory):
  Host Client → Datastore browser → chuột phải file .vmx
  → "Register VM"

⚠ Cảnh báo:
  - Sao lưu/ghi lại cấu hình network, NTP, datastore path TRƯỚC khi cài.
  - Đảm bảo boot device tách biệt với datastore chứa VM
    (boot-from-USB/SD hoặc LUN riêng) để an toàn tuyệt đối.

Cách 4 (UNSUPPORTED) — Sửa /etc/shadow trong bootbank

VMware KHÔNG hỗ trợ cách này; có thể vi phạm chính sách support. Chỉ tham khảo, dùng khi mọi cách trên bất khả thi và bạn chấp nhận rủi ro. Boot host bằng Linux Live CD, mount bootbank, giải nén state.tgz, sửa hash mật khẩu root trong /etc/shadow, đóng gói lại.

Ý tưởng (KHÔNG khuyến nghị, dễ làm hỏng host):
  1. Boot host bằng Linux Live (GParted/Ubuntu) — KHÔNG boot vào ESXi.
  2. Mount partition bootbank của ESXi (FAT, có state.tgz).
  3. Giải nén lồng nhau: state.tgz → local.tgz → ./etc/shadow
  4. Thay field hash của root bằng "" (rỗng → no password) hoặc hash mới.
  5. Nén lại đúng cấu trúc (local.tgz → state.tgz), ghi đè, reboot.
  → Sai 1 bước = ESXi không boot. Hãy backup bootbank trước.

KHUYẾN NGHỊ THỰC TẾ: ưu tiên Cách 1/2/3. Cách 4 chỉ là kiến thức.

Phần 2 — Khôi Phục Mật Khẩu root của VCSA (vCenter 7/8)

Đây là root của HĐH Photon bên trong appliance (dùng cho VAMI :5480, SSH, console). Reset qua GRUB single-user mode.

Quy trình GRUB single-user — VCSA 7.0 & 8.0

Bước 0: SNAPSHOT VCSA (power off VCSA rồi snapshot là an toàn nhất).

Bước 1: Mở console VCSA (vSphere Client → VCSA VM → Launch Web Console,
        hoặc qua host ESXi nếu vCenter đang down). Reboot appliance:
        Guest OS Restart hoặc reboot từ console.

Bước 2: Khi màn hình Photon GRUB hiện ra → nhấn nhanh phím  e  để Edit.
        (Menu chỉ hiện vài giây — canh sẵn.)

Bước 3: Tìm dòng bắt đầu bằng  "linux"  (kernel boot line).
        Đưa con trỏ tới CUỐI dòng đó, thêm dấu cách rồi gõ:
            rw init=/bin/bash
        (Bảo đảm không có "ro" còn sót gây mount read-only.)

Bước 4: Nhấn  F10  (hoặc Ctrl-X) để boot vào shell bash (single-user).

Bước 5: Bảo đảm filesystem ghi được rồi đổi mật khẩu:
        mount -o remount,rw /
        passwd root
        # nhập mật khẩu mới 2 lần
        # Nếu báo "Authentication token manipulation error"
        #   → chạy lại mount -o remount,rw / rồi passwd root

Bước 6 (nếu tài khoản bị khóa do nhập sai nhiều lần):
        # Photon OS dùng pam_faillock (VCSA 7U2+/8):
        faillock --user root --reset
        # hoặc bản cũ dùng pam_tally2:
        pam_tally2 --user root --reset

Bước 7: Khởi động lại bình thường:
        umount /        # có thể báo busy — bỏ qua
        reboot -f
        # nếu reboot -f không ăn: exec /lib/systemd/systemd

Bước 8: Đăng nhập kiểm tra qua https://vcsa-fqdn:5480 hoặc SSH bằng pass mới.
        → Xóa snapshot sau khi xác nhận hệ thống ổn định.

Xử lý lỗi "password expired" (rất hay gặp — không phải quên pass)

# Mật khẩu root VCSA mặc định hết hạn sau 365 ngày → login báo expired.
# Nếu CÒN biết pass cũ: console/SSH sẽ tự bắt đổi pass mới, làm theo.
# Sau khi vào được, kiểm tra & tắt hết hạn nếu muốn:

chage -l root                      # xem ngày hết hạn hiện tại
chage -M -1 root                   # KHÔNG bao giờ hết hạn (CLI)

# Hoặc qua VAMI: https://vcsa:5480
#   → Administration → Password expiration settings
#   → "Root password expires": No  (hoặc đặt ngày mới)

Phần 3 — Reset / Unlock [email protected] (SSO)

Tài khoản SSO domain để đăng nhập vSphere Client (https://vcenter/ui). Reset bằng vdcadmintool. Cần đăng nhập được root của VCSA trước (xem Phần 2 nếu cũng mất root).

Reset mật khẩu SSO bằng vdcadmintool — vCenter 7/8

Bước 1: SSH vào VCSA bằng root (bật SSH ở VAMI nếu cần).
        ssh root@vcsa-fqdn

Bước 2: Nếu vào appliance shell, chuyển sang bash shell:
        shell           # (nếu prompt là Command> của appliancesh)

Bước 3: Chạy công cụ vdcadmintool:
        /usr/lib/vmware-vmdir/bin/vdcadmintool

Bước 4: Menu hiện ra → chọn:
        3. Reset account password

Bước 5: Nhập đúng UPN (account UPN), phân biệt hoa thường:
        [email protected]
        (nếu SSO domain khác mặc định thì thay vsphere.local cho đúng)

Bước 6: Công cụ TỰ SINH mật khẩu mới và in ra màn hình:
        "New password is ......."   → COPY chính xác (gồm cả ký tự đặc biệt).

Bước 7: Đăng nhập vSphere Client bằng pass vừa sinh:
        https://vcenter-fqdn/ui
        → [email protected] + pass mới
        → Vào được thì đổi sang pass dễ nhớ:
          Administration → Single Sign On → Users and Groups
          → vsphere.local → Administrator → Edit/Reset Password

Trường hợp chỉ bị KHÓA (locked) chứ không quên mật khẩu

  • SSO mặc định khóa account sau số lần sai nhất định; tự mở khóa sau hết thời gian lockout (mặc định ~5 phút) — chờ rồi đăng nhập lại.
  • Muốn mở khóa ngay: dùng tài khoản SSO admin khác (nếu có) → Administration → Single Sign On → Users and Groups → chọn user → Unlock.
  • Xem/sửa chính sách lockout: Administration → Single Sign On → Configuration → Lockout Policy (số lần sai, thời gian khóa).

Menu vdcadmintool tham khảo (các tùy chọn thường gặp)

==================
Please select:
0. exit
1. Test LDAP connectivity
2. Force start replication cycle
3. Reset account password          <-- dùng để reset [email protected]
4. Set log level and mask
5. Set vmdir state
6. Get vmdir state
==================

Phần 4 — Điểm Khác Biệt Trên vSphere 9 (ESXi 9 / vCenter 9)

Hầu hết quy trình ở Phần 1–3 vẫn áp dụng nguyên vẹn cho vSphere 9. Phần này chỉ nêu những điểm thay đổi để bạn không làm sai trên phiên bản mới.

root ESXi 9

Host Profile vẫn dùng được, nhưng vSphere Configuration Profiles (vCP) là cách hiện đại được khuyến nghị (Host Profiles đang dần bị thay thế).

root vCenter 9

VCSA 9 vẫn là Photon OS → quy trình GRUB single-user (Phần 2) giữ nguyên. Reset từ VAMI cũng còn (KB 369931).

SSO 9

vdcadmintool (Phần 3) không đổi — option 3 reset [email protected] như trên 7/8.

Reset root ESXi 9 bằng vSphere Configuration Profiles (vCP)

vCP quản lý cấu hình ở cấp cluster (thay vì per-host như Host Profile). Áp dụng cho cluster bật vCP — có từ vSphere 8.0 U3 và là chuẩn ở vSphere 9.

Điều kiện: Cluster đã bật vSphere Configuration Profiles (vCP),
           host vẫn kết nối vCenter, license Enterprise Plus.

Bước 1: vSphere Client → chọn Cluster → Configure → Desired State
        → Configuration  (đây là cấu hình vCP dạng JSON document)

Bước 2: Sửa schema mật khẩu root trong document cấu hình:
        esx → security → user "root" → password
        (đặt mật khẩu mới theo schema vCP)

Bước 3: Save → "Check Compliance" → "Remediate" cho host/cluster.
        vCenter áp mật khẩu mới xuống các host trong cluster.

Bước 4: Đăng nhập DCUI/Host Client bằng pass mới để xác nhận.

→ Chi tiết schema & ví dụ: KB 404104.

Tóm tắt: chọn cách nào trên vSphere 9?

  • Cluster đã bật vCP → dùng vSphere Configuration Profiles (KB 404104).
  • Cluster chưa bật vCP → vẫn dùng Host Profile như Phần 1 (KB 323617).
  • Host join AD → login AD đổi pass (KB 390021) — không đổi giữa 7/8/9.
  • root VCSA & SSO admin → quy trình Phần 2/3 áp dụng y nguyên cho vCenter 9.

ỨNG DỤNG DOANH NGHIỆP — Quy Trình Break-Glass

Reset mật khẩu là thao tác nhạy cảm, dễ bị lạm dụng — doanh nghiệp cần quy trình kiểm soát, phòng ngừa và ghi log đầy đủ.

1. Phòng ngừa — Để không bao giờ phải reset khẩn cấp

Reset là phương án cuối; chiến lược tốt nhất là không để mất quyền truy cập ngay từ đầu.

Quản lý credential

  • Lưu root ESXi/VCSA & SSO admin trong PAM/vault (CyberArk, HashiCorp Vault, Bitwarden Enterprise)
  • 2 break-glass account in offline, niêm phong két
  • Đặt lịch nhắc đổi pass trước khi hết hạn 365 ngày

Giảm phụ thuộc tài khoản gốc

  • Tích hợp AD/LDAP → đăng nhập bằng account cá nhân, không dùng root/administrator hằng ngày
  • ESXi join AD + group "ESX Admins" để luôn có đường vào dự phòng
  • Bật & lưu Host Profile sẵn cho mọi cluster

2. Bảng quyết định — Chọn đúng phương án theo tình huống

Tài khoản mất Điều kiện hiện có Phương án Downtime VM?
root ESXiHost trong vCenterHost ProfileKhông
root ESXiHost join ADLogin AD → passwdKhông
root ESXiStandalone, không ADReinstall (preserve VMFS)Có (reboot host)
root VCSACó console applianceGRUB → passwd rootCó (reboot vCenter)
[email protected]Còn root VCSAvdcadmintoolKhông (chỉ SSH)
Cả root VCSA + SSOMất hếtGRUB reset root → rồi vdcadmintool

Lưu ý: reboot vCenter không ảnh hưởng VM đang chạy (HA/DRS tạm ngưng quản lý, VM vẫn chạy bình thường). Reboot ESXi host mới gây downtime cho VM trên host đó (nếu không vMotion trước).

3. Checklist break-glass & audit sau khi reset

Trước & trong khi reset

Sau khi reset