VxRail:如何在 VxRail 版本 7.0.x 和 8.0.x 中查詢或更新管理帳戶
Summary: 本文說明如何在版本 7.0.x 和 8.0.x 的 VxRail Manager 中查詢和更新已儲存的 VxRail 認證。
Instructions
從 VxRail 7.0.010 版開始,vCenter 和 ESXi 主機管理帳戶儲存在加密箱微服務中。
查詢或更新管理帳戶的方法與先前版本有所不同。
以下存取的密碼為base64編碼,而非純文字。
事前準備作業
- 使用「mystic」系統管理員使用者透過 SSH 連線至 VxRail Manager
- 切換至根目錄使用者。
su -
查詢現有的已儲存登入資料:
查詢 vCenter 管理帳戶:
要執行的指令:
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
範例輸出:
{
"items": [
{
"connection_type": "OK",
"credential_name": "management_account_vc",
"is_found": true,
"password": "xxxxxxxxxxx",
"username": "management@localos"
}
]
}
在此範例中,vCenter 管理帳戶使用者名稱為 management@localos,編碼的密碼為 xxxxxxxxxxx.
若要解碼密碼,請使用下列命令。
echo -n 'xxxxxxxxxxx' | base64 -d
查詢 ESXi 主機管理帳戶:
1.若要存取帳戶,您必須知道 PowerEdge 產品服務編號 (ST) - 七個字元的序列號,例如 AB1CDE2 - 才能存取特定認證。
取代下列章節 <host-SN> 與產品服務編號。
例如,您可以使用 VxRail 附掛程式的下列區段來檢視序號和主機名稱:
2.使用下列命令收集 VxRail 主機認證,更換 <host-SN> 與伺服器的產品服務編號。
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
使用先前的範例產品服務編號:
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
產量:
{
"items": [
{
"credential_name": "management_account_esxi__V015001",
"is_found": true,
"password": "XXXXXXXX",
"username": "management"
}
]
}
在此範例中,ESXi 主機管理帳戶使用者名稱為 management。編碼的密碼為 XXXXXXXX。
若要解碼,請使用下列命令:
echo -n 'XXXXXXXX' | base64 -d
更新儲存的登入資料:
更新 vCenter 管理帳戶:
1.停止 vmware-marvin 服務:
systemctl stop vmware-marvin
2.若要將密碼編碼,請執行以下命令來取代密碼:
echo -n 'Password123!' | base64 UGFzc3dvcmQxMjMh
-n 是避免插入換行符所必需的;否則,這將是與預期不同的密碼。
3.查詢目前的 vCenter 管理帳戶使用者名稱。如果您不知道 vCenter 管理帳戶使用者名稱,請參閱上述「查詢 vCenter 管理帳戶」一節來查詢使用者名稱。
4.若要更新 vCenter 管理帳戶,請執行以下命令並更換 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'
範例:
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'
5.從 vCenter 更新管理帳戶密碼,瀏覽至 vSphere>漢堡功能表>系統管理員>使用者和群組會>根據 vCenter 管理帳戶所在的網域進行篩選,編輯帳戶,並設定新的純文字密碼。
6.開始 vmware-marvin 服務:
systemctl start vmware-marvin
更新 ESXi 主機管理帳戶
1.若要對密碼進行編碼,請執行以下範例中的命令:
範例:
echo -n 'Password123!' | base64 UGFzc3dvcmQxMjMh
2.您應該知道 ESXi 主機序號 (SN) 或產品服務編號。
3.您應該知道 ESXi 主機管理帳戶使用者名稱 (注意:管理帳戶使用者和序號會列在 VxVerify 輸出檔案中: vxverify_tests.json)
4.停止 vmware-marvin 服務:
systemctl stop vmware-marvin
5.若要更新 ESXi 主機管理帳戶,請執行以下命令並更換 ESX_MGMT_USER_NAME 和 ENCODED_PASSWD_FROM_STEP_1 和 <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'
範例:
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'
如何解密密碼:
echo -n "VnhsYWJSQGlsMSE=" | base64 -d VxlabR@il1!
6.請瀏覽至 https://ESXiIPAddress 並以根使用者身分登入。按一下 管理>使用者與群組編輯>ESXi 管理使用者>,設定新的純文字密碼。
7.開始 vmware-marvin 服務:
systemctl start vmware-marvin
變更密碼後:
1.從 VxRail UI>、健全狀況監控、健全狀況監控>狀態>啟用、啟用或使用 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"}'
2.重新啟動 vmware-marvin 服務。
systemctl restart vmware-marvin
Additional Information
您可以執行 VxVerify 來測試登入資料,請參閱文章:VxRail:如何執行 VxRail 驗證工具。