ESXi 7.x'te kök kullanıcı parolasını sıfırlama
⚠️ ÖNEMLİ UYUMLULUK BİLDİRİMİ
Bu kök parola sıfırlama yöntemi ESXi sürümüne bağlıdır ve tüm sürümlerde desteklenmez.
Desteklenen sürümler:
- ESXi 6.0, 6.5, 6.7 (tüm yapılar)
- ESXi 7.0 (GA)
- ESXi 7.0 Güncelleme 1
- ESXi 7.0 Güncelleme 2
Desteklenmez:
- ESXi 7.0 Güncelleme 3 ve sonrası (
local.tgzyapılandırma arşivi şifrelidir velocal.tgz.veolarak depolanır) - ESXi 8.0 ve sonraki sürümler
Nedeni: ESXi 7.0 Güncelleme 3 ile başlayarak VMware, yapılandırma arşivlerinin şifrelenmesini kullanıma sundu. Bu, /etc/shadow dosyasının LiveCD aracılığıyla doğrudan değiştirilmesini engeller.
Şifreli sürümler (7.0 G3+, 8.0+) için alternatif yöntemler kullanın:
- Başka bir ESXi sunucusunda
crypto-utilkullanmak (iç içe geçmiş bir ESXi VM oluşturmayı gerektirir) - Konak Profilleri aracılığıyla kurtarma (vCenter gerektirir)
- VMFS veri depolarını koruyarak ESXi'yi yeniden yüklemek (son çare)
İşleme başlamadan önce kurulu ESXi sürümünü doğrulayın.
Bazen, bir nedenden ötürü, güncel bir parolanız olmadığı için ESXi Yönetim Konsolunda kimlik doğrulaması yapamayabilirsiniz. Bu durum; sistem saldırısı, sistem çökmesi, parola kaybı veya ESXi'yi belgesiz ya da uygun yönetim denetimleri olmadan devralmış olmanızdan kaynaklanabilir. Bu hoş olmayan bir durumdur ve bir şeyler yapılması gerekecektir. Belki hemen değil, ama bir şeyler ters gittiğinde ve şimdiye kadar normal çalışan bir sisteme müdahale etmeniz gerektiğinde. Bu talimat tam da bu tür durumlar için yazılmıştır.
Parolayı sıfırlamanın birkaç yolu vardır. Ancak bu makalede anlatılan yöntem evrenseldir ve yalnızca 7.x sürümleri için değil, önceki sürümler için de çalışacaktır. Pratikte test edilmiştir ve çoğu durumda çalışmaktadır. Hadi başlayalım.
Ön Koşullar
Önce herhangi bir Live CD'den önyükleme yapmamız gerekiyor. Ubuntu kurulum görüntüsü olabilir veya bizim durumumuzda olduğu gibi Finnix. Bu, kapsamlı tanılama ve felaket kurtarma yeteneklerine sahip Debian tabanlı bir dağıtımdır.
Önyüklemeden sonra bir konsol istemi göreceksiniz:

Sunucunuz uzakta bulunuyor ve IP-KVM aracılığıyla bağlıysa, yüksek konsol yanıt süresi nedeniyle bu modda çalışmak pek uygun değildir. Bunu önlemek için bir SSH sunucusu kurabilirsiniz. Bu bir sorun değilse bu adımı atlayabilirsiniz.
# canlı sistem için root parolasını ayarla passwd # ssh sunucusunu başlat service ssh start
Ardından sunucuya favori SSH istemcinizi kullanarak veya konsoldan bağlanabilirsiniz:
ssh root@1.2.3.4
ESXi Bölümünü Bulma
Şimdi hangi diskin ihtiyacımız olan bölümü içerdiğini belirlememiz gerekiyor. Bunun için önce hangi disklere sahip olduğumuzu belirleyelim.
root@0:~# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS loop0 7:0 0 377.2M 1 loop /usr/lib/live/mount/rootfs/filesystem.squashfs sda 8:0 1 3.6T 0 disk └─sda1 8:1 1 3.6T 0 part sdb 8:16 1 3.6T 0 disk └─sdb1 8:17 1 3.6T 0 part sr0 11:0 1 455M 0 rom /run/live/medium zram0 252:0 0 62.8G 0 disk [SWAP] nvme1n1 259:0 0 476.9G 0 disk └─nvme1n1p1 259:2 0 476.9G 0 part nvme0n1 259:1 0 476.9G 0 disk ├─nvme0n1p1 259:3 0 4M 0 part ├─nvme0n1p2 259:4 0 4G 0 part ├─nvme0n1p3 259:5 0 469.6G 0 part ├─nvme0n1p5 259:6 0 250M 0 part ├─nvme0n1p6 259:7 0 250M 0 part ├─nvme0n1p7 259:8 0 110M 0 part ├─nvme0n1p8 259:9 0 286M 0 part └─nvme0n1p9 259:10 0 2.5G 0 part
Ana arama kriterimiz 250 MB'lık bir disk bölümüdür. Gördüğümüz gibi nvme0n1 diski böyle bir bölüm içeriyor, daha yakından bakalım:
fdisk -l /dev/nvme0n1

Hedefimiz 8224. sektörden başlayan ve 250 MB boyutundaki bölümdür. İhtiyacımız olan verileri içeren bölüm budur.
Yapılandırma Dosyalarını Çıkarma
Devam etmek için 2 dizin oluşturalım: biri diski bağlamak için, diğeri düzenlememiz gereken veriler için.
mkdir /mnt/vmware && mkdir /tmp/vmware
Bulunan bölümü bağla
mount /dev/nvme0n1p5 /mnt/vmware
İçinde çok şey var ama belirli bir dosyaya ihtiyacımız var

Daha önce oluşturulan dizine çıkarılmalıdır
tar -xf /mnt/vmware/state.tgz -C /tmp/vmware/ tar -xf /tmp/vmware/local.tgz -C /tmp/vmware/ rm /tmp/vmware/local.tgz
Şimdi /tmp/vmware/ dizinine gidip içeriğine bakarsak, orada tanıdık etc dizinini bulacağız.
Shadow Dosyasını Düzenleme
Ardından shadow dosyasını düzenlememiz ve root parola karmasını oradan kaldırmamız gerekiyor. Böylece ESXi, manipülasyonumuzdan sonra kullanıcı parolasının boş olduğunu düşünecektir.
nano /tmp/vmware/etc/shadow
Bu dikkatli yapılmalıdır. Birinci ve ikinci iki nokta üst üste arasındaki içeriği silmek gerekir

ve şöyle görünmeli

Geri Yükleme ve Yeniden Başlatma
Dosyayı F3 tuşuyla kaydedin. Bu en önemli kısmı tamamlar. Ardından her şeyi paketleyip bulduğunuz yere geri koymanız gerekiyor.
cd /tmp/vmware/ tar -czf local.tgz etc tar -czf state.tgz local.tgz mv state.tgz /mnt/vmware/
ESXi sürücüsünü çıkarın ve yeniden başlatın.
umount /mnt/vmware/ reboot
Yeniden başlatmadan sonra ESXi web arayüzüne root kullanıcısı olarak boş parola ile giriş yapın ve sağ üst köşedeki menü aracılığıyla standart yollarla ihtiyacımız olan parola ile değiştirin.
Olası Sorunlar ve Çözümler
- Bölüm Bağlama Hatası: Sistem diskine doğru yolu belirttiğinizden emin olun. Bölüm yapısını görüntülemek için
lsblkkomutunu çalıştırın. - Shadow Dosyası Eksik:
/tmp/etc/shadowyolunun doğruluğunu kontrol edin.state.tgzvelocal.tgzarşivlerinin başarıyla çıkarıldığından emin olun. - Parola Sıfırlanmadı: Değişikliklerin kaydedildiğini ve dosyaların başarıyla yeniden oluşturulup orijinal konumlarına taşındığını kontrol edin.
İşte bu kadar! Hedef gerçekleştirildi! Yeni parolanızı kaydetmenizi ve bir daha asla kaybetmemenizi öneririz!