Cách đặt lại mật khẩu root ESXi


Quên mật khẩu là điều không may xảy ra với tất cả mọi người và việc đặt lại mật khẩu root ESXi đòi hỏi bạn phải chú ý một chút. Và đó là lý do tại sao các trình quản lý mật khẩu tồn tại. Không, bạn không nên viết chúng lên những tờ giấy dính màu vàng dán vào màn hình trừ khi bạn muốn khiến các nhân viên an ninh của mình đau tim. Tôi đoán, với tiêu đề của bài đăng này, bạn biết tôi sẽ đi đâu với điều này nếu bạn quên mật khẩu root ESXi của mình.

Bây giờ là 10 giờ tối. Bạn nhận được một cuộc gọi và bắt đầu khắc phục sự cố ngay lập tức. Bạn cho rằng khởi động lại dịch vụ quản lý sẽ khắc phục được sự cố. Máy chủ của bạn được kết nối với công tắc KVM từ xa, vì vậy bạn nhấn F2 và nhập mật khẩu. Không được đâu. Có thể, đó là một lỗi đánh máy có thể không. Bạn thử lại nhiều lần và cuối cùng tự khóa mình vì quên mật khẩu root. Bạn đã lưu mật khẩu ESXi nhưng trên đường đi, bạn đã thay đổi nó và quên cập nhật nó trong trình quản lý mật khẩu của mình. Theo VMware, cách khắc phục được hỗ trợ duy nhất là cài đặt lại ESXi trừ khi bạn vẫn đang chạy ESX, điều này rất khó xảy ra.

Mật khẩu không hợp lệ được nhập vào bảng điều khiển
Mật khẩu không hợp lệ được nhập vào bảng điều khiển

Trong thời kỳ trước ESXi, hypervisor có một bảng điều khiển dịch vụ cho phép bạn khởi động ở chế độ một người dùng. Điều này cho phép bạn thay đổi mật khẩu từ bash. Ngẫu nhiên, phương pháp này vẫn có thể được sử dụng ngày nay để thay đổi mật khẩu root của thiết bị vCenter Server. Không có điều đó cho ESXi.

Trong bài đăng hôm nay, tôi sẽ chỉ cho bạn cách bạn có thể sử dụng Live Linux CD/DVD, để thay đổi mật khẩu root trên máy chủ ESXi của bạn. VMware không hỗ trợ phương pháp này với lý do phức tạp, nhưng tôi không mua phương pháp này – không có gì thực sự phức tạp về nó. ESXi lưu mật khẩu root được mã hóa trong /etc/shadow theo tiêu chuẩn của Linux.

Tất cả hoạt động như thế nào

Trước hết, hãy SSH tới máy chủ của bạn và xem /etc/shadow . Bạn sẽ thấy một cái gì đó như thế này.

Mật khẩu ESXi

Đây là từ một máy chủ ESXi thử nghiệm mà tôi sử dụng, vì vậy hãy là khách của tôi và cố gắng đảo ngược hàm băm mật khẩu. Chúc may mắn với điều đó. Chuỗi được đóng hộp màu đỏ là những gì chúng ta đang theo đuổi. Xóa nó sẽ đặt lại mật khẩu thành null. Tất nhiên, nếu bạn không thể root vào máy chủ của mình, không có cách nào bạn có thể làm điều này, do đó, tại sao chúng tôi sử dụng đĩa CD trực tiếp. Khởi động đĩa CD/DVD Live Linux cho phép chúng tôi truy cập và thay đổi tệp. Bí quyết là biết tệp nào cần thay đổi. Thay đổi một cái có thể truy cập được khi SSH đối với máy chủ không có giá trị sử dụng vì các thay đổi được ghi đè khi bạn khởi động máy chủ.

Như bạn có thể biết, ESXi sử dụng một số phân vùng đĩa. Đặc biệt, một trong số đó được gọi là bootbank. Phân vùng này chứa các tệp lõi siêu giám sát và cấu hình của máy chủ lưu trữ là những gì cuối cùng được tải vào bộ nhớ. Theo mặc định, phân vùng được gọi là /dev/sda5.

Tệp /etc/shadow mà chúng tôi đang theo dõi được tìm thấy trong một kho lưu trữ nén có tên state.tgz được tìm thấy trong /dev/sda5 . Vì vậy, đây là những gì chúng ta cần làm.

  • Tải xuống đĩa CD/DVD Live Linux. Hãy lựa chọn của bạn từ danh sách này. Tôi đã chọn Gparted LiveCD.
  • Ghi USB hoặc CD/DVD với Live CD/DVD và khởi động máy chủ của bạn khỏi nó.
  • Gắn kết /dev/sda5 và sao chép state.tgz vào một thư mục tạm thời.
  • Giải nén state.tgz và chỉnh sửa tệp shadow.
  • Nén tệp lưu trữ và ghi đè state.tgz bằng nó
  • Ngắt kết nối và khởi động lại máy chủ.

Cách đặt lại mật khẩu root ESXi

Quy trình sau đây hướng dẫn cách đặt lại mật khẩu cho root trên máy chủ ESXi 6.5. Điều này sẽ hoạt động trên các phiên bản ESXi trước đó mặc dù tôi chỉ thử nghiệm nó trên 6.x. Nó cũng không có gì khác biệt nếu máy chủ là vật lý hoặc được lồng vào nhau.

Điều quan trọng nhất cần lưu ý là bạn sẽ không thể ‘đánh lừa’ tính bảo mật của ESXi và thay đổi mật khẩu root của nút mà không tắt nguồn. Có nghĩa là bạn cần phải di tản các máy ảo đến các máy chủ khác trong cụm hoặc tắt chúng để đặt máy chủ ở chế độ bảo trì.

Đối với bài đăng này, để đặt lại mật khẩu root ESXi, tôi đang sử dụng một máy chủ lưu trữ lồng nhau chỉ vì mục đích thuận tiện. Và, vâng, tôi đã thực hiện quy trình tương tự này một số lần trên các máy chủ ESXi vật lý. Cũng lưu ý rằng máy chủ phải được tắt nguồn để điều này hoạt động, vì vậy trừ khi được di chuyển, tất cả các máy ảo được lưu trữ rõ ràng sẽ ngừng hoạt động.

Bước 1 – Chèn Live CD có thể khởi động, đảm bảo máy chủ của bạn có thể khởi động CD/DVD hoặc USB và khởi động nó. Nếu bạn đang sử dụng Gparted LiveCD, chỉ cần làm theo hướng dẫn trên màn hình khi nó đang tải.

Khởi động từ GParted LiveCD
Khởi động từ GParted LiveCD
ESXi trên thiết bị USB

Bước 2 – Định vị 2 phân vùng có kích thước 250MB. Như đã đề cập, /dev/sda5 là những gì chúng tôi có sau khi giả sử bạn đã cài đặt ESXi trên đĩa có sẵn đầu tiên. Điều này có thể khác nếu, chẳng hạn, bạn đã cài đặt ESXi trên thiết bị USB.

GParted liệt kê các phân vùng ESXi được tìm thấy trên đĩa chính. Số MiB của bạn có thể thay đổi tùy theo kích thước của ổ khởi động và phương tiện (SD, USB, ổ đĩa…).

IDTênMiêu tảKích cỡ
1System bootĐược sử dụng để khởi động hệ điều hành.4 MB
2ScratchLưu trữ liên tục các gói hỗ trợ VMware. Được tạo nếu phương tiện lớn hơn 8,5 GB.4GB (Năng động)
3VMFS datastoreBất kỳ không gian còn lại chưa được phân bổ được sử dụng để tạo một kho dữ liệu cục bộ. Được tạo nếu phương tiện lớn hơn 8,5 GB.Khoảng trống còn lại.(Năng động)
5Bootbank (bootbank 0)Lưu trữ hình ảnh ESXi hiện tại.250 MB
6Altbootbank (bootbank 1)Lưu trữ hình ảnh ESXi trước đó sau khi nâng cấp. Được sử dụng cho các hoạt động khôi phục.250 MB
7vmkDiagnostic (small core-dump)Chụp đầu ra của màn hình chẩn đoán màu tím trong trường hợp ESXi bị lỗi.110 MB
số 8Store (locker)Lưu trữ ISO cho các công cụ VMware.286 MB
92nd diagnostic partition (large core-dump)Thêm không gian cho các gốc cây để tránh cắt ngắn các bản ghi. Được tạo nếu phương tiện lớn hơn 3,4GB.2,5 GB
Bố cục phân vùng vSphere 6.x.”

Lưu ý rằng bố cục phân vùng đã thay đổi đáng kể trong vSphere 7 so với vSphere 6.x. Bây giờ nó được hợp nhất trong ít phân vùng hơn tận dụng kích thước động và VMFS-L.

Bố cục phân vùng vSphere 6.x và vSphere 7
Bố cục phân vùng vSphere 6.x và vSphere 7

Bước 3 – Mở cửa sổ dòng lệnh và chạy các lệnh sau theo thứ tự chính xác như được liệt kê.

sudo su
mkdir /boot /temp
mount /dev/sda5 /boot
cd /boot
cp state.tgz /temp
cd /temp
tar -xf state.tgz
tar -xf local.tgz
rm *.tgz
cd etc

cửa sổ đầu cuối

Loạt lệnh đầu tiên cần được chạy để truy cập tệp mật khẩu shadow

Chúng tôi sẽ sử dụng vi để chỉnh sửa tệp mật khẩu shadowChỉ cần di chuyển đến dòng bắt đầu bằng root và xóa chuỗi giữa 2 dấu hai chấm đầu tiên. Sử dụng phím [ Xóa ]. Khi hoàn tất, nhấn [:] và nhập wq , sau đó là [ Enter ].

sử dụng vi để chỉnh sửa tệp mật khẩu bóng

Xóa mật khẩu root được mã hóa để đặt lại thành null, tức là tài khoản root sẽ không có đặt mật khẩu

Tiếp tục bằng cách chạy loạt lệnh sau.

cd ..
tar -cf local.tgz etc/
tar -cf state.tgz local.tgz
mv state.tgz /boot
umount /boot
reboot

Bước 4 – Sau khi máy chủ ESXi trực tuyến trở lại, hãy thử đăng nhập với quyền root từ DCUI (bảng điều khiển) hoặc qua SSH bằng putty hoặc tương tự. Bạn sẽ có thể đăng nhập mà không cần nhập mật khẩu mặc dù bạn sẽ được nhắc đặt mật khẩu, đó là điều bạn nên làm.

Kết luận

Thực sự không có gì nhiều hơn để thêm ngoài việc thúc giục bạn có thói quen lưu mật khẩu của mình bằng trình quản lý mật khẩu đáng tin cậy. Mặc dù không được VMware hỗ trợ, quy trình đặt lại mật khẩu root ESXi mặc định được nêu ngày nay vẫn hoạt động thường xuyên, ít nhất là trên ESXi 6.x nhưng nó cũng sẽ hoạt động với các bản phát hành cũ hơn. Tôi đã không gặp phải bất kỳ tác dụng phụ nào khi sử dụng bản hack này để khôi phục root ESXi , có thể hiểu được như vậy, vì chúng tôi chỉ đơn giản là loại bỏ giá trị băm từ tệp mật khẩu. Bạn đã bao giờ mất mật khẩu và bị đóng băng khỏi ESXi chưa? Bạn đã làm gì? Hãy cho tôi biết trong các ý kiến ​​dưới đây. Và nếu bạn cần bất kỳ trợ giúp nào về cách đặt lại mật khẩu root ESXi , tôi sẵn lòng trợ giúp.

,

Leave a Reply

Your email address will not be published.