VxRail: jak wysyłać zapytania lub aktualizować konto zarządzania w VxRail w wersji 7.0.x i 8.0.x
Summary: W tym artykule wyjaśniono, w jaki sposób wysyłać zapytania i aktualizować zapisane poświadczenia VxRail w programie VxRail Manager w wersji 7.0.x i 8.0.x.
Instructions
Aby uzyskać aktualizacje hasła konta zarządzania, zapoznaj się z:
Zmiana hasła użytkownika
zarządzania VxRail Zmiana hasła użytkownika zarządzania hostem VMware ESXi Zmiana hasła użytkownika zarządzania hostem VMware ESXi (VxRail 8.0.320 i nowsze wersje)
Począwszy od VxRail w wersji 7.0.010, konta zarządzania hostami vCenter i ESXi są przechowywane w mikrousłudze skrytki.
Metoda wykonywania zapytań lub aktualizowania konta zarządzania zmieniła się w stosunku do poprzednich wersji.
Hasła, do których uzyskano dostęp poniżej, są zakodowane w formacie base64 i nie są w postaci zwykłego tekstu.
Wymagania wstępne
- Za pomocą protokołu SSH połącz się z VxRail Manager jako administrator "mystic"
- Przełącz się na użytkownika root.
su -
Sprawdzanie istniejących zapisanych poświadczeń:
Odpytywanie konta zarządzania vCenter:
Polecenie do uruchomienia:
curl --unix-socket /var/lib/vxrail/nginx/socket/nginx.sock -X GET 'http://localhost/rest/vxm/internal/lockbox/v1/credentials?lockbox_name=SYSTEM&credential_names=management_account_vc'|jq
Przykładowe dane wyjściowe:
{
"items": [
{
"connection_type": "OK",
"credential_name": "management_account_vc",
"is_found": true,
"password": "xxxxxxxxxxx",
"username": "management@localos"
}
]
}
W tym przykładzie nazwa użytkownika konta zarządzania vCenter to management@localos, a zakodowane hasło to xxxxxxxxxxx.
Aby zdekodować hasło, użyj następującego polecenia.
echo -n 'xxxxxxxxxxx' | base64 -d
Zapytanie dotyczące konta zarządzania hostem ESXi:
- Aby uzyskać dostęp do konta, należy znać kod Service Tag (ST) serwera PowerEdge — siedmioznakowy numer seryjny, taki jak AB1CDE2 — w celu uzyskania dostępu do określonych poświadczeń.
Zastąp wszystkie sekcje, które mają<host-SN>z kodem Service Tag.
Na przykład można użyć następującej sekcji wtyczki VxRail, aby wyświetlić numery szeregowe i nazwę hosta:
- Użyj następującego polecenia, aby zebrać poświadczenia hosta VxRail, zastępując
<host-SN>z kodem Service Tag serwera.
curl --unix-socket /var/lib/vxrail/nginx/socket/nginx.sock -X GET 'http://localhost/rest/vxm/internal/lockbox/v1/credentials?lockbox_name=SYSTEM&credential_names=management_account_esxi__<host-SN>'| jq
Użycie poprzedniego przykładu z kodem Service Tag:
curl --unix-socket /var/lib/vxrail/nginx/socket/nginx.sock -X GET 'http://localhost/rest/vxm/internal/lockbox/v1/credentials?lockbox_name=SYSTEM&credential_names=management_account_esxi__AB1CDE2'| jq
Wyjście:
{
"items": [
{
"credential_name": "management_account_esxi__V015001",
"is_found": true,
"password": "XXXXXXXX",
"username": "management"
}
]
}
W tym przykładzie nazwa użytkownika konta zarządzania hostem ESXi to zarządzanie. Zakodowane hasło to XXXXXXXX.
Aby to zdekodować, użyj następującego polecenia:
echo -n 'XXXXXXXX' | base64 -d
Aktualizowanie zapisanych poświadczeń:
Zaktualizuj konto zarządzania vCenter:
- Zatrzymanie
vmware-marvinUsługa:
systemctl stop vmware-marvin
- Aby zakodować hasło, uruchom poniższe polecenie, zastępując hasło:
echo -n 'Password123!' | base64 UGFzc3dvcmQxMjMh
Plik -n jest konieczne, aby uniknąć wstawiania nowego znaku wiersza; W przeciwnym razie byłoby to inne hasło niż zamierzone.
- Zapytaj o bieżącą nazwę użytkownika konta zarządzania vCenter. Jeśli nie znasz nazwy użytkownika konta zarządzania vCenter, zapoznaj się z powyższą sekcją "Kwerenda konta zarządzania vCenter", aby zapytać o nazwę użytkownika.
- Aby zaktualizować konto zarządzania vCenter, uruchom poniższe polecenie i zamień
VC_MGMT_USER_NAME and ENCODED_PASSWD_FROM_STEP_1:
curl -X PUT --unix-socket /var/lib/vxrail/nginx/socket/nginx.sock -H "accept: application/json" -H "Content-Type: application/json" -d '{"lockbox_name":"SYSTEM","credentials":[{"credential_name":"management_account_vc","username":"VC_MGMT_USER_NAME","password":"ENCODED_PASSWD_FROM_STEP_1"}]}' 'http://localhost/rest/vxm/internal/lockbox/v1/credentials'
Example:
curl -X PUT --unix-socket /var/lib/vxrail/nginx/socket/nginx.sock -H "accept: application/json" -H "Content-Type: application/json" -d '{"lockbox_name":"SYSTEM","credentials":[{"credential_name":"management_account_vc","username":"vxrm@localos","password":"UGFzc3dvcmQxMjMh"}]}' 'http://localhost/rest/vxm/internal/lockbox/v1/credentials'
- Zaktualizuj hasło konta zarządzania z vCenter, przejdź do menu vSphere>Hamburger Menu>Administracja>Użytkownicy i grupy>, filtruj według domeny, w której istnieje konto zarządzania vCenter, edytuj konto i ustaw nowe hasło w postaci zwykłego tekstu.
- Początek
vmware-marvinUsługa:
systemctl start vmware-marvin
Aktualizowanie konta zarządzania hostem ESXi
- Aby zakodować hasło, uruchom polecenie jak w poniższym przykładzie:
Przykład:
echo -n 'Password123!' | base64 UGFzc3dvcmQxMjMh
- Należy znać numer seryjny (SN) lub kod Service Tag hosta ESXi.
- Należy znać nazwę użytkownika konta zarządzania hostem ESXi (uwaga: użytkownicy konta zarządzania i numery seryjne są wymienione w pliku wyjściowym VxVerify:
vxverify_tests.json). - Zatrzymanie
vmware-marvinUsługa:
systemctl stop vmware-marvin
- Aby zaktualizować konto zarządzania hostem ESXi, uruchom poniższe polecenie i zamień
ESX_MGMT_USER_NAMEiENCODED_PASSWD_FROM_STEP_1i<host-SN>:
curl -X PUT --unix-socket /var/lib/vxrail/nginx/socket/nginx.sock -H "Accept: application/json" -H "Content-Type: application/json" -d '{"lockbox_name":"SYSTEM","credentials":[{"credential_name":"management_account_esxi__<host-SN>","username":"ESXI_MGMT_USER_NAME","password":"ENCODED_PASSWD_FROM_STEP_1"}]}' 'http://localhost/rest/vxm/internal/lockbox/v1/credentials'
Example:
curl -X PUT --unix-socket /var/lib/vxrail/nginx/socket/nginx.sock -H "Accept: application/json" -H "Content-Type: application/json" -d '{"lockbox_name":"SYSTEM","credentials":[{"credential_name":"management_account_esxi__V010101","username":"esxmgmt","password":"UGFzc3dvcmQxMjMh"}]}' 'http://localhost/rest/vxm/internal/lockbox/v1/credentials'
Jak odszyfrować hasło:
echo -n "VnhsYWJSQGlsMSE=" | base64 -d VxlabR@il1!
- Przejdź do
https://ESXiIPAddressi zaloguj się jako root. Kliknij opcję Manage Users>and Groups>Edit the ESXi management user>, ustaw nowe hasło w postaci zwykłego tekstu. - Początek
vmware-marvinUsługa:
systemctl start vmware-marvin
Po dokonaniu zmiany hasła:
- Włącz monitorowanie kondycji z poziomu interfejsu > użytkownika VxRail, Health Monitoring, Health Monitoring > Status > Enable lub za pomocą interfejsu CLI.
curl -X PUT --unix-socket /var/lib/vxrail/nginx/socket/nginx.sock -H "Accept: application/json" -H "Content-Type: application/json" http://127.0.0.1/rest/vxm/internal/configservice/v1/configuration/keys/state_cluster_suppressed -d '{"value": "false"}'
- Uruchom ponownie usługę
vmware-marvinusługa.
systemctl restart vmware-marvin
Additional Information
Poświadczenia można przetestować, uruchamiając VxVerify, patrz artykuł: VxRail: Uruchamianie narzędzia VxRail Verify.