VMware VCF Installer Appliance’ta admin@local Parolasını Kurtarmak

VMware VCF Installer Appliance’ta admin@local Parolasını Kurtarmak

Bir VCF Installer Appliance (eski adıyla Cloud Builder) devraldığınızda ya da uzun süredir dokunulmayan bir kuruluma geri döndüğünüzde karşılaşabileceğiniz en can sıkıcı durumlardan biri, hiçbir parolanın elinizde olmamasıdır. Ne root, ne admin@local… Arayüz sizi içeri almaz SSH çoğu zaman kapalıdır ve elinizde yalnızca vCenter üzerinden açılan bir konsol penceresi kalır.

İyi haber şu bu senaryo göründüğü kadar çıkmaz değil. Cihazın önyükleme sürecine müdahale ederek önce root erişimini geri kazanabilir ardından uygulama tarafındaki admin@local hesabını sıfırlayabilirsiniz. Bu yazıda tüm süreci her adımın arkasındaki mantığıyla birlikte anlatıyorum.

Anlatılan yöntem VCF 9.1 / ESX 9.1 ortamında doğrulanmıştır. Altyapı Photon OS 5.x ve GRUB 2.12 kullanır.

Başlamadan Önce

Bu prosedürün çalışması için sisteme fiziksel değil ama “yerel” düzeyde bir erişime ihtiyacınız var. Şunlar yeterli:

  • vCenter üzerinden appliance’a ait VM Console penceresine erişim (SSH gerekmez)
  • Sanal makinenin açık durumda olması

SSH kapalı olsa bile sorun değil; tüm işi konsol üzerinden yürüteceğiz. Konsol, bu tür kurtarma senaryolarında her zaman güvenilir bir geri dönüş noktasıdır.

1. Adım : Önyüklemeyi (Boot) GRUB’da Durdurmak

Amaç, işletim sisteminin normal şekilde açılmasına izin vermeden araya girip parametrelerini değiştirmek. Bunun için:

  1. vCenter’da appliance’ın VM Console penceresini açın.
  2. Sanal makineyi yeniden başlatın.
  3. Ekranda GNU GRUB önyükleyicisi belirir belirmez e tuşuna basarak düzenleme moduna geçin.

Bu ekran çok kısa süre görünür; gözünüz açık başlatmayı beklemekte fayda var. Kaçırırsanız yeniden başlatıp tekrar deneyin.

2. Adım : Önyükleme Parametrelerini Değiştirmek

Düzenleme modunda karşınıza çekirdek açılış parametreleri gelir. linux ile başlayan satırı bulun.

linux /$photon_linux root=$rootpartition $photon_cmdline $systemd_cmdline $user_cmdline audit=1 fips=1

Yapacağımız şey basit ama etkili: sistemin normal başlatma sürecini (systemd, servisler, oturum yönetimi) atlayıp doğrudan bir kabuğa düşmesini sağlamak. Ok tuşlarıyla satırın en sonuna gidip şunu ekleyin.

rw init=/bin/bash

Burada rw kök dosya sistemini yazılabilir açar (parola değiştirebilmek için şart), init=/bin/bash ise her zamanki başlatma zinciri yerine doğrudan bir Bash kabuğu başlatır. Satırın son hâli şöyle olmalı:

linux /$photon_linux root=$rootpartition $photon_cmdline $systemd_cmdline $user_cmdline audit=1 fips=1 rw init=/bin/bash

Değişikliği uygulayıp önyüklemek için Ctrl+X veya F10 tuşuna basın.

3. Adım : root Parolasını Sıfırlamak

Sistem, oturum açma ekranını atlayarak doğrudan bir root kabuğuna düşer. Artık en yetkili kullanıcı sizsiniz; ilk iş root parolasını yenilemek:

passwd root

Yeni parolayı yazın ve doğrulama için bir kez daha girin.

Burada dikkat edilecek bir nokta var: cihaz FIPS modunda çalıştığı için (fips=1) parola belirli bir karmaşıklığın altına inemez. Sonradan reddedilmemek adına baştan güçlü bir parola seçin:

  • En az 12 karakter (tavsiye edilen)
  • Büyük ve küçük harf
  • En az bir rakam
  • En az bir özel karakter

Parolayı belirledikten sonra sistemi temiz bir şekilde yeniden başlatın:

exec /sbin/reboot -f

Sıradan bir reboot komutu bu kabukta çalışmayabilir; bu yüzden exec ... -f ile zorlayarak yeniden başlatıyoruz.

4. Adım : Konsoldan root ile Giriş

Cihaz normal şekilde yeniden açıldığında, artık az önce belirlediğiniz parolayla konsoldan root olarak oturum açabilirsiniz. Bu, bir sonraki ve asıl adım için gereken zemini hazırlar.

5. Adım : Asıl Hedef: admin@local Parolası

Burada çoğu kişinin takıldığı kritik bir ayrım var. admin@local, sandığınızın aksine bir Linux kullanıcısı değildir. Yani passwd admin@local gibi bir komut işe yaramaz. Bu hesap, VMware’in commonsvcs bileşeni tarafından yönetilen ve bir PostgreSQL veritabanında tutulan, tamamen uygulama düzeyinde bir kimliktir.

Dolayısıyla parolasını da işletim sistemi araçlarıyla değil, VMware’in bu iş için sağladığı özel betikle değiştiririz:

sh /opt/vmware/vcf/commonsvcs/scripts/auth/set-local-account-password.sh "YeniParolaniz!"

Betik, verdiğiniz parolayı düz metin olarak saklamaz; önce SHA-512 ile karma (hash) hâline getirir, ardından Base64 ile kodlayıp veritabanına yazar. Komut çalıştıktan sonra ekranda herhangi bir çıktı görmemeniz normaldir — sessizlik burada genellikle başarı anlamına gelir.

6. Adım : Sonucu Doğrulamak

Son olarak yaptığınızın işe yaradığından emin olun. Tarayıcıdan VCF Installer arayüzünü açıp giriş yapın:

  • Kullanıcı adı: admin@local
  • Parola: 5. adımda belirlediğiniz parola

Giriş başarılıysa kurtarma tamamlanmış demektir.

İşin İçindeki Dosyalar

Süreci daha iyi anlamak veya ileride başvurmak isterseniz, ilgili yollar şöyle:

YolNe İşe Yarar
/opt/vmware/vcf/commonsvcs/commonsvcs bileşeninin ana dizini
/opt/vmware/vcf/commonsvcs/scripts/auth/Kimlik doğrulama scriptinin bulunduğu dizin
/opt/vmware/vcf/commonsvcs/scripts/auth/setlocalaccountpassword.pyBizim çağırdığımız parola sıfırlama scripti
/opt/vmware/vcf/commonsvcs/Scritp’in arka planda çağırdığı Python kodu

FIPS Modunda Parola Kuralları

VCF, varsayılan olarak FIPS 140-2 uyumlu çalıştığından, hem root hem de admin@local için belirleyeceğiniz parolalar şu kriterleri karşılamalıdır:

  • En az 8 karakter (ama 12 ve üzeri şiddetle önerilir)
  • En az bir büyük harf
  • En az bir küçük harf
  • En az bir rakam
  • En az bir özel karakter (!, @, # gibi)

Dikkat Edilmesi Gerekenler

  • Bu yöntem VCF Installer Appliance (eski Cloud Builder) içindir; SDDC Manager ile karıştırmayın, orada süreç farklıdır.
  • admin bir işletim sistemi kullanıcısı olarak hiç yoktur; yalnızca uygulama tarafında bir hesap olarak vardır. Bu ayrımı unutmak, saatlerce boşa uğraşmanın en yaygın nedenidir.
  • Kurtardığınız parolaları bu kez kaybetmemek için bir parola yöneticisinde güvenle saklayın.
  • SSH kapalı olsa bile panik yapmaya gerek yok; konsol her zaman elinizin altında bir kurtarma yolu olarak durur.

Comments

No comments yet. Why don’t you start the discussion?

Leave a Reply

Your email address will not be published. Required fields are marked *