"Enter"a basıp içeriğe geçin

ESXi 7.x ve 8.x Sunucusunda Root Şifresi Kurtarma

ESXi’de root parolasının unutulması, özellikle bağımsız sunucularda ciddi bir sorundur. vCenter veya Active Directory bağlantısı varsa parola hızlıca sıfırlanabilir. Bu seçenekler yoksa, ESXi’nin şifreli yapılandırma yapısı nedeniyle root parolasını doğrudan değiştirmek mümkün değildir.

Bu nedenle parola kurtarma süreci, yapılandırma paketinin doğru biçimde açılmasına ve yeniden oluşturulmasına dayanır. Yapıya hâkim değilsen, önce VMware ESXi Kurulum Adımları rehberine göz atmak, ESXi’in temel çalışma mantığını anlamayı kolaylaştırır.

Bu yazımızda yeniden kurulum yapmadan parolayı geri kazanmanın çözümlerine bakacağız.

Gereken Bileşenler

  • Root parolasını unuttuğunuz fiziksel ESXi host
  • Linux makinesi
  • Fiziksel host ile aynı sürümde kurulmuş Nested ESXi VM
  • Fiziksel hostun yüklü olduğu medyaya erişim

ESXi Root Parola Kurtarma

Çözümün ana fikri, fiziksel hosttan alınan state.tgz dosyasını, aynı sürüme sahip bir sanal ESXi üzerinde açabilir hâle getirmektir. Bunun için fiziksel hostun encryption.info dosyası, nested ESXi içine entegre edilir. Böylece sanal ortam fiziksel hostun şifreleme anahtarlarına sahip olur.

Nested ESXi Ortamını Hazırlama

Öncelikle fiziksel host ile aynı sürümde çalışacak bir nested ESXi kurmamız gerekir. Bunun için yeni bir sanal makine oluşturalım ve misafir işletim sistemi olarak aynı ESXi sürümünü seçelim.

ISO dosyasını sanal CD sürücüsüne ekleyip kurulumu standart ESXi yüklemesi şeklinde yapalım. Nested ortamda yapılacak işlemlerin çoğu CLI üzerinden ilerlediği için, isterseniz VMware için En Sık Kullanılan ESXCLI ve ESXi Komutları yazısından komut yapısına da göz atabilirsiniz.

Fiziksel Hosttan state.tgz Dosyasını Alma

ESXi’in kalıcı yapılandırması state.tgz dosyasında tutulur, bu nedenle işlemlere başlamadan önce bu dosyayı mutlaka dışarı almamız gerekir.

BOOTBANK benzeri bölümü bağlayalım ve içindeki state.tgz dosyasını kopyalayalım, fdisk -l komutuyla bölümleri inceleyelim ve bootbank olan 5. ya da 6. bölümü bağlayalım.

state.tgz Dosyasını Nested ESXi’ye Aktarma

Fiziksel hosttan aldığımız state.tgz dosyasını nested ESXi üzerinde işlemek için önce dosyayı sisteme aktaralım

Nested ESXi’ye bağlandıktan sonra /tmp dizinine geçip paketi açalım

Bu işlemlerden sonra fiziksel hosta ait local.tgz ve ilgili meta veriler nested ESXi üzerinde görünür hâle gelir.

Nested ESXi’i Fiziksel Host Anahtarıyla Çalıştırma

Nested ESXi’in, fiziksel hosttaki şifreli yapılandırmayı çözebilmesi için kendi state.tgz paketini fiziksel hostun encryption.info dosyasıyla yeniden oluşturmamız gerekir.

Bu işlemle nested ESXi’in mevcut state paketini açmış, şifreli yapıdan local.tgz dosyasını çıkarmış, kendi encryption.info dosyasını silip fiziksel hosttaki anahtarla değiştirmiş ve yeni bir state-mod.tgz oluşturmuş oluruz.

Nested ESXi’in Bootbank Alanını Güncelleme

Nested ESXi’in VMDK diskini bir Linux makineye bağlayalım ve bootbank bölümlerini güncelleyelim:

Sonrasında nested ESXi VM’yi yeniden başlatalım. Bu işlemden sonra nested ortam, fiziksel host ile aynı encryption.info dosyasını kullanır hâle gelir ve artık fiziksel hostun state.tgz paketini sorunsuz bir şekilde çözebilir.

state.tgz İçeriğini Nested ESXi’de Açma

Artık fiziksel hosttan aldığımız orijinal state.tgz dosyasını nested ESXi üzerinde çözelim. Önce dosyayı geçici dizine kopyalayalım ve açalım.

Ardından şifreli yapıdan gerçek local.tgz dosyasını çıkaralım.

Bu işlemlerden sonra fiziksel ESXi’e ait gerçek local.tgz paketi elimizde olur. Root parolasının hash değerine ulaşmak için bu paketi de açmamız gerekir.

ConfigStore İçindeki Root Parolasını Güncelleme

Önce local.tgz dosyasını açalım

Bu işlemden sonra /tmp altında .ssh, etc/ ve var/ dizinleri oluşur. Root parolasının bulunduğu ConfigStore veritabanı şu dizindedir.

Kayıtları görmek için aşağıdaki sorguyu çalıştıralım:

Şimdi yeni bir SHA512 hash oluşturalım

Üretilen hash’i alıp veritabanındaki password_hash alanını güncelleyelim.

Son olarak ilk SELECT sorgusunu yeniden çalıştırarak yeni hash’in doğru şekilde kaydedildiğini kontrol edelim.

Yeni state Paketini Oluşturup Fiziksel Hosta Yazma

Hash değişikliğinden sonra yapılandırmayı yeniden paketleyelim:

Ardından dosyayı Linux makineye aktaralım ve fiziksel ESXi’i Live ISO ile açıp bootbank bölümüne yazalım:

İkinci bootbank varsa aynı işlemi tekrar edelim. Fiziksel hostu yeniden başlattığımızda:

Yeni root parolasıyla giriş yapabiliriz ve tüm ayarlar ile sanal makineler olduğu gibi korunur.

Sık Sorulan Sorular

local.tgz.ve dosyasını nasıl şifresiz açarım?

local.tgz.ve ancak fiziksel ESXi’ye ait encryption.info dosyası nested ESXi’ye entegre edildikten sonra crypto-util komutuyla çözülebilir. Bu anahtar olmadan dosya tamamen şifreli kaldığı için açılması mümkün değildir.

ConfigStore sqlite veritabanı neden kilit hatası veriyor?

ConfigStore, ESXi çalışırken sistem tarafından kilitli tutulduğu için canlı ortamda düzenleme yapılamaz. Bu yüzden sqlite3 komutu root parolasını değiştirmeye çalıştığınızda hata verir. İşlem ancak nested ESXi üzerinde çıkarılmış offline ConfigStore kopyasında yapılabilir.

ESXi root şifresini unutunca nested ESXi şart mı?

ESXi 7.x ve 8.x sürümlerinde yapılandırma dosyaları tamamen şifreli olduğu için eski Linux üzerinden shadow düzenleme yöntemi artık çalışmaz. local.tgz.ve dosyasını çözebilmek için aynı sürümde çalışan nested bir ESXi’nin encryption motoruna ihtiyaç vardır. Bu nedenle nested ESXi, şifre kurtarma sürecinin zorunlu bir parçasıdır.

Root kurtarma işleminde neden SSH erişimi önemli?

SSH, recovery sırasında dosya aktarımı ve komut yürütme adımlarını hızlandırdığı için kritik bir bileşendir ve erişim kapalıysa VMware ESXi Üzerinde SSH Servisi Nasıl Aktifleştirilir? rehberi üzerinden kolayca etkinleştirilebilir.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir