Ponastavitev gesla korenskega uporabnika v ESXi 7.x

Ponastavitev gesla korenskega uporabnika v ESXi 7.x

Včasih se iz različnih razlogov ne morete prijaviti v konzolo za upravljanje ESXi, ker nimate veljavnega gesla. To se lahko zgodi zaradi kršitve varnosti sistema, okvare sistema, izgube gesla ali če ste podedovali ESXi brez dokumentacije ali ustreznega upravnega nadzora. To je neprijetna situacija, ki jo boste morali rešiti. Morda ne takoj, ampak ko gre kaj narobe in morate poseči v sistem, ki je do zdaj deloval normalno. Ta vodnik je napisan prav za takšne primere.

Varnostno kopiranje

Pred izvedbo kakršnih koli ukrepov morate ustvariti varnostne kopije konfiguracije, navideznih strojev, omrežnih nastavitev in licence.

  1. Konfiguracija gostitelja:

    vim-cmd hostsvc/firmware/backup_config
    • Ukaz ustvari varnostno kopijo konfiguracije gostitelja. Po izvedbi ukaza bo izhod prikazal URL (npr. http:///downloads/.tgz).
    • Prenesite datoteko s tega URL-ja z uporabo spletnega brskalnika ali orodja, kot sta wget ali curl, in jo shranite na zunanji nosilec:

      wget http:///downloads/.tgz -O /path/to/backup/.tgz
    • Za obnovitev konfiguracije uporabite spletni vmesnik vSphere Client:

      1. Pojdite na "Host" → "Configure" → "System" → "Backup/Restore".
      2. Izberite "Restore" in naložite predhodno shranjeno datoteko .tgz.

      Alternativno, za sinhronizacijo trenutne konfiguracije s tisto, shranjeno na disku, uporabite:

      vim-cmd hostsvc/firmware/sync_config
    • Potrebno je veljavno geslo root. Če ga nimate, uporabite dostop prek vCentra ali ključev SSH.
  2. Navidezni stroji:

    ovftool vi://root@[ESXI_IP]/[VM_NAME] /path/to/backup/[VM_NAME].ova
    • Potrebno je orodje ovftool, nameščeno na administrativnem računalniku (Windows, macOS ali Linux). Orodje lahko prenesete z VMware Customer Connect.
    • Prepričajte se, da ima administrativni računalnik dostop do gostitelja ESXi, in uporabite veljavno geslo root za izvedbo ukaza.
    • Shranite datoteko .ova na zunanji nosilec.
  3. Omrežne nastavitve:

    esxcli network ip interface list > network_config.txt

    Shranite izhod v datoteko.

  4. Licenca ESXi:

    vim-cmd vimsvc/license --show

Varnostne kopije shranite na zunanji nosilec, ki ni povezan z gostiteljem.

Določitev vrste infrastrukture

Za izbiro optimalne metode ponastavitve določite vrsto gostitelja:

  • Upravljan z vCentrom: V razdelku "Summary" spletnega vmesnika ESXi je naveden strežnik vCenter.
  • Samostojen: Upravljanje poteka neposredno, brez vCentra.

Metoda 1: Gostitelj, upravljan z vCentrom (Host Profiles)

Ta metoda uporablja Host Profiles za gostitelje, povezane z vCentrom. Ne zahteva ponovnega zagona in je podprta s strani VMware.

Zahteve

  • Licenca VMware vSphere Enterprise Plus.
  • Dostop do strežnika vCenter.
  • Drug gostitelj ESXi z znanim geslom root in enako različico ESXi (npr. 7.0 Update 3c).
  • Če uporabljate licenco Standard ali nižjo, uporabite Metodo 2 (ponovna namestitev) ali Metodo 3 (Nested ESXi).

Koraki

  1. Prijavite se v vSphere Client (HTML5).
  2. Pojdite v razdelek "Host Profiles":

    • V glavnem meniju izberite "Menu" → "Host Profiles" ali navigirajte prek "Inventory" → "Hosts and Clusters" → "Host Profiles" (odvisno od različice vSphere).
  3. Izvlecite profil:

    • Izberite gostitelja z znanim geslom.
    • Kliknite "Extract Profile from Host".
    • Poimenujte profil, npr. Password_Reset_Profile.
    • Počakajte na zaključek.
  4. Uredite profil:

    • Izberite profil in kliknite "Edit Settings".
    • Pojdite na "Security Configuration" → "Authentication Configuration".
    • V razdelku "Local User Accounts" izberite račun root.
    • Nastavite novo geslo (vsaj 8 znakov, vključno z velikimi črkami, številkami in posebnimi znaki).
    • Shranite spremembe.
  5. Pripravite ciljni gostitelj:

    • Izberite gostitelja z pozabljenim geslom.
    • Preklopite v vzdrževalni način: desni klik → "Enter Maintenance Mode".
    • Izberite "Move powered off and suspended virtual machines to other hosts", če je primerno.
    • Če DRS ali vMotion nista na voljo, izklopite navidezne stroje.
    • Počakajte na zaključek.
  6. Uporabite profil:

    • V razdelku "Host Profiles" izberite profil.
    • Kliknite "Attach/Detach Hosts and Clusters" in izberite gostitelja.
    • Kliknite "Attach", nato "Remediate".
    • Potrdite spremembe in počakajte na zaključek (približno deset minut).
  7. Preverite:

    • Izstopite iz vzdrževalnega načina: desni klik → "Exit Maintenance Mode".
    • Prijavite se z novim geslom prek spletnega vmesnika ali SSH.
    • Preverite navidezne stroje:

      vim-cmd vmsvc/getallvms

Opombe

  • Različica ESXi referenčnega gostitelja mora ustrezati ciljnemu gostitelju.
  • Neskladja v konfiguraciji lahko povzročijo napake. Preverite dnevnike vCentra.

Tveganja

  • Minimalna, če sledite navodilom.
  • Možne napake zaradi neskladij v konfiguraciji.

Metoda 2: Samostojen gostitelj — Ponovna namestitev

Za samostojne gostitelje se uporablja ponovna namestitev ESXi. Ta metoda povzroči izgubo konfiguracije brez varnostnih kopij.

Koraki

  1. Priprava:

    • Prenesite ESXi z VMware Customer Connect.
    • Ustvarite zagonski USB z uporabo Rufus, Ventoy ali:

      sudo dd if=/path/to/esxi.iso of=/dev/sdX bs=4M status=progress && sync

      Prepričajte se, da je /dev/sdX pravi USB naprava (preverite z lsblk ali fdisk -l).

    • Izvedite varnostno kopiranje (glejte razdelek "Varnostno kopiranje").
  2. Ponovna namestitev:

    • Zagnalite z namestitvenega medija.
    • Izberite disk in potrdite prepisovanje.
    • Nastavite novo geslo root (priporočljivo vsaj 8 znakov).
    • Počakajte na zaključek namestitve (približno 15 minut).
  3. Obnovitev:

    • Konfigurirajte omrežje:

      esxcli network ip interface ipv4 set -i vmk0 -I [IP] -N [NETMASK] -t static
      esxcli network ip route ipv4 add -g [GATEWAY] -n default
      esxcli network ip interface set -e false -i vmk0; esxcli network ip interface set -e true -i vmk0

      Če je gostitelj uporabljal vSphere Distributed Switch (vDS), obnovite vDS prek vCentra ali konfigurirajte vSphere Standard Switch (vSS).

    • Povežite shranjevanje:

      esxcli storage core adapter rescan --all

      Za priklop vseh razpoložljivih VMFS volumenov uporabite:

      esxcli storage filesystem automount

      Če samodejni priklop ne uspe, preverite razpoložljive volumne in jih priklopite ročno:

      esxcli storage filesystem list
      esxcli storage filesystem mount --volume-label=[VOLUME_LABEL]

      Zamenjajte [VOLUME_LABEL] z imenom volumna, pridobljenim z ukazom list.

    • Uvozite navidezne stroje:

      ovftool /path/to/backup/[VM_NAME].ova vi://root@[ESXI_IP]/

      Prepričajte se, da se ovftool izvaja na administrativnem računalniku z dostopom do gostitelja.

    • Obnovite licenco:

      vim-cmd vimsvc/license --set [LICENSE_KEY] --label="ESXi License"

      Parameter --label je neobvezen, vendar priporočen za identifikacijo licence v vmesniku vSphere.

Tveganja

  • Izguba konfiguracije in navideznih strojev brez varnostnih kopij.
  • Zahteva ponovno konfiguracijo omrežja in shranjevanja.

Metoda 3: Samostojen gostitelj — Alternativna metoda

Za samostojne gostitelje, kjer ponovna namestitev ni mogoča, se uporablja metoda z Nested ESXi in navideznim strojem Linux za spreminjanje konfiguracijskih datotek. Metoda je zapletena, ni podprta s strani VMware in je namenjena izkušenim administratorjem.

Zahteve

  • Navidezni stroj Nested ESXi, ki ustreza različici in gradnji gostitelja (npr. 7.0 Update 3c). Na voljo na VMware Flings.
  • Navidezni stroj Linux (npr. Ubuntu 20.04+).
  • Fizični dostop do strežnika.
  • Izkušnje z Linuxom.

Koraki

  1. Razporedite Nested ESXi in navidezni stroj Linux.
  2. Zagnalite z Linux LiveCD, priklopite particije ESXi in kopirajte datoteki state.tgz in local.tgz.
  3. Prenesite datoteke na Nested ESXi, jih dešifrirajte z uporabo /usr/lib/vmware/crypto-util in spremenite hash gesla v podatkovni bazi SQLite.
  4. Ponovno zapakirajte in šifrirajte datoteke, jih vrnite na gostitelja in znova zaženite.

Tveganja

  • Če gostitelj uporablja Trusted Platform Module (TPM), so konfiguracijske datoteke vezane na ključe TPM. Zamenjava datotek brez ključev lahko povzroči, da sistem postane neuporaben. Preverite:

    esxcli system settings encryption get

    Če Encryption Mode kaže TPM, ta metoda morda ni primerna.

  • Napačne spremembe lahko ponastavijo omrežne nastavitve, shranjevanje ali navidezne stroje.
  • Nested ESXi mora natančno ustrezati različici gostitelja.
  • V ESXi 8.x metoda morda ne bo delovala zaradi sprememb v šifriranju.

Alternativa

Če je SSH omogočen, dodajte ključ SSH:

  • Ustvarite ključ:

    ssh-keygen -t rsa -b 4096
  • Dodajte ključ v /etc/ssh/keys-root/authorized_keys.

Preventivni ukrepi

  1. Dokumentacija:

    • Shranjujte gesla v upravitelju gesel, npr. HashiCorp Vault.
    • Vzdržujte dokumentacijo posodobljeno.
  2. Dostop SSH:

    • Omogočite SSH za trenutno sejo:

      esxcli system services enable --id=TSM-SSH
      esxcli system services start --id=TSM-SSH
    • Za samodejni zagon SSH ob zagonu:

      esxcli system services set --policy=on --id=TSM-SSH
    • Onemogočite časovno omejitev ESXi Shell:

      esxcli system settings advanced set -o /UserVars/ESXiShellTimeOut -i 0
    • Alternativno, konfigurirajte prek vSphere Client:

      1. Izberite gostitelja → "Configure" → "Services".
      2. Poiščite "TSM-SSH", izberite "Options" → "Start and stop with host".
    • Konfigurirajte ključe SSH:

      1. Ustvarite ključ na odjemalskem računalniku:

        ssh-keygen -t rsa -b 4096
      2. Kopirajte javni ključ (npr. ~/.ssh/id_rsa.pub) na gostitelja:

        scp ~/.ssh/id_rsa.pub root@[ESXI_IP]:/etc/ssh/keys-root/authorized_keys
      3. Nastavite dovoljenja:

        ssh root@[ESXI_IP] "chmod 644 /etc/ssh/keys-root/authorized_keys"
    • Shranite ključe v /etc/ssh/keys-root/authorized_keys.
  3. Active Directory:

    • Pridružite gostitelja domeni prek CLI:

      esxcli system authentication activedirectory join -d [DOMAIN] -u [USERNAME] -p [PASSWORD]

      Določite [DOMAIN] (npr. example.com), [USERNAME] (uporabnik z dovoljenji za pridružitev) in [PASSWORD].

    • Alternativno, uporabite vSphere Client:

      1. Izberite gostitelja → "Configure" → "Authentication Services".
      2. Kliknite "Join Domain", določite domeno in poverilnice.
    • Dodelite dovoljenja skupini domene prek vSphere Client:

      1. Izberite gostitelja ali vCenter.
      2. Pojdite na "Permissions".
      3. Kliknite "Add", izberite skupino (npr. DOMAIN\GroupName) in dodelite vlogo (npr. "Administrator").
    • Za avtomatizacijo uporabite PowerCLI:

      New-VIPermission -Entity (Get-VMHost) -Principal "DOMAIN\GroupName" -Role Admin
  4. Spremljanje:

    • Uporabite vRealize Operations ali Zabbix.
    • Konfigurirajte obvestila o napakah.
  5. Varnostno kopiranje:

    • Avtomatizirajte:

      vim-cmd hostsvc/firmware/backup_config

      Prenesite datoteko prek URL-ja in jo shranite na zunanji nosilec.