注:This works on external and embedded PSCs
This script will do the following
1: Regenerate STS certificate
What is needed?
1: Offline snapshots of VCs/PSCs
2: SSO Admin Password
IMPORTANT: This script should only be run on a single PSC per SSO domain
==================================
Resetting STS certificate for vcsa1.example.com started on Fri May 22 14:39:40 UTC 2020
Detected DN: cn=vcsa1.example.com,ou=Domain Controllers,dc=vsphere,dc=local
Detected PNID: vcsa1.example.com
Detected PSC: vcsa1.example.com
Detected SSO domain name: vsphere.local
Detected Machine ID: ce####87-####-####-####-60########a3
Detected IP Address: 192.168.0.51
Domain CN: dc=vsphere,dc=local
==================================
==================================
Detected Root's certificate expiration date: 2030 May 16
Detected today's date: 2020 May 22
==================================
Exporting and generating STS certificate
Status : Success
Using config file : /tmp/vmware-fixsts/certool.cfg
Status : Success
Enter password for [email protected]:
Amount of tenant credentials: 1
Exporting tenant and trustedcertchain 1 to /tmp/vmware-fixsts
Deleting tenant and trustedcertchain 1
Applying newly generated STS certificate to SSO domain
adding new entry "cn=TenantCredential-1,cn=vsphere.local,cn=Tenants,cn=IdentityManager,cn=Services,dc=vsphere,dc=local"
adding new entry "cn=TrustedCertChain-1,cn=TrustedCertificateChains,cn=vsphere.local,cn=Tenants,cn=IdentityManager,cn=Services,dc=vsphere,dc=local"
Replacement finished - Please restart services on all vCenters and PSCs in your SSO domain
==================================
IMPORTANT: In case you're using HLM (Hybrid Linked Mode) without a gateway, you would need to re-sync the certs from Cloud to On-Prem after following this procedure
==================================
==================================
注:スクリプトを実行すると、次のエラーが表示されることがあります。
bash: ./recreate_machine.sh: /bin/bash^M: bad interpreter: No such file or directory
このエラーは、Windows ベースのテキスト エディタからコピーするときにスクリプトに追加される DOS のキャリッジ リターンが原因で発生します。この問題を解決するには、次のコマンドを実行してスクリプトを再実行します。
sed -i -e 's/\r$//' fixsts.sh
注:
vSphere 5.xまたは6.0からアップグレードした場合、TenantCredentialsに複数のSTSチェーン(trustedcertchain)が存在する可能性があります。 他のチェーンを発行したノードにアクセスできなくなると、認証エラーが発生する可能性があります。
スクリプトを実行すると、古いSTSチェーンがすべて削除され、単一の新しいチェーンに置き換えられ、廃止されたチェーンによって引き起こされた認証エラーが解決されます。