証明書の有効期限の確認
VMware vCenter Serverで利用している、vCenter Single Sign-On Security Token Service証明書(以下、STS証明書)、マシンSSL証明書、及びソリューションユーザ証明書の有効期限を確認する方法を説明します。
STS証明書の有効期限の確認
STS証明書の有効期限の確認方法を説明します。
以下のいずれかの方法で確認できます。
【参考】
- vSphere 6.0の場合は、「VMware vSphere Web Clientで確認する方法」でのみ確認できます。
- vSphere 6.5の場合は、VMware vSphere Client(HTML5)ではSTS証明書の有効期限を確認できません。
VMware vSphere Web Clientで確認する方法
【参考】
- vSphere 6.5の場合は、Webブラウザのアップデートを実施し、Adobe Flash Playerの利用が制限された場合は、VMware vSphere Web Clientでの確認ができません。「スクリプトで確認する方法」を実施してください。
1.VMware vSphere Web Clientを使用し、VMware vCenter Server Applianceに接続します。ユーザ名にはadministrator@vsphere.localを入力し、パスワードにはadministrator@vsphere.localのパスワードを入力します。
2.画面上部の「」を選択し、表示されたメニューから「管理」を選択します。
3.画面左に表示されるメニューの「Single Sign-On」をクリックし、「設定」をクリックします。
「ehv########vcsa.pri.p2.localのSSO設定」画面が表示されます。
4.「証明書」タブをクリック後、「STS証明書」をクリックし、「件名」にチェーン1として2通の証明書が表示されることを確認します。「有効期限の終了日」として表示されている日時がSTS証明書の有効期限となります。
【参考】
2通のうち、「有効期間の開始日」から「有効期限」までの期間が2年の証明書がリーフ証明書、10年の証明書がルート証明書となります。証明書のいずれかの有効期限が切れた場合に、STS証明書は有効期限切れの状態となります。
スクリプトで確認する方法
【参考】
vSphere 6.5の場合のみ実施できます。
本手順では、Windows用フリーソフトウェアとして配布されているターミナルエミュレータ「Tera Term」を使用した確認方法を説明します。
1.以下のURLより「checksts.py」スクリプトをダウンロードします。
https://kb.vmware.com/s/article/79248
【参考】
「checksts.py」スクリプトは、右カラムの「Attachments」のリンクから入手できます。「Attachments」が表示されない場合は、右カラムの「Language」を「English」に変更してください。
2.リモートデスクトップ接続を使用し、運用管理サーバへ接続します。
3.ダウンロードした「checksts.py」スクリプトを、運用管理サーバのローカルディスクへアップロードします。
【参考】
アップロード方法の詳細は「統合管理サーバ、または運用管理サーバのローカルディスクへのアップロード」をご参照ください。
4.スタートボタンをクリックし、「Windows PowerShell」フォルダの「Windows PowerShell」を右クリックして、「管理者として実行する」をクリックします。
5.以下のコマンドを実行し、VMware vCenter Server Applianceに接続します。
【参考】
パスワードに「$」などの特殊文字が含まれる場合は、パスワード全体をシングルクオーテーションで囲んで入力してください。
PS> Connect-VIServer -Server <VMware vCenter Server ApplianceのIPアドレスまたはFQDN> -User administrator@vsphere.local -Password <administrator@vsphere.localのパスワード>
6.以下のコマンドを実行し、checksts.pyスクリプトをVMware vCenter Server Applianceに転送します。
PS> Copy-VMGuestFile -VM <VMware vCenter Server Applianceの仮想マシン名> -LocalToGuest -Source <checksts.pyスクリプトのファイルパス> -Destination "/tmp/checksts.py" -GuestUser root -GuestPassword <VMware vCenter Server Applianceのrootユーザのパスワード>
7.以下のコマンドを実行し、Windows PowerShellを終了します。
PS> exit
8.運用管理サーバからログオフします。
【参考】
運用管理サーバに「Tera Term」をインストールし、後続手順を実行する場合は、ログオフせずに次の手順へ進みます。
9.「Tera Term」を起動し、VMware vCenter Server Applianceに接続します。
【参考】
VMware vCenter Server Applianceに接続する方法については、「VCSAへの接続 > SSHによる接続」をご参照ください。
10.VMware vCenter Server Applianceに接続した後、以下の画面が表示されるため、「shell」と入力し、Enterキーを押します。
11.以下のコマンドを実行し、「checksts.py」スクリプトが存在することを確認します。
# ls -l /tmp/checksts.py -rw-r--r-- 1 root root 8042 Aug 10 09:00 /tmp/checksts.py
12.以下のコマンドを実行し、「checksts.py」スクリプトを実行します。
# python /tmp/checksts.py
13.証明書の有効期限を迎えていない場合は、「VALID CERTS」欄に証明書の有効期限が切れるまでの残日数(今回の例では、リーフ証明書が残り671日、ルート証明書が3588日)が表示されます。
2 VALID CERTS ================ LEAF CERTS: [] Certificate 66:85:64:80:19:1B:37:E3:AA:72:04:A1:5A:B3:2B:54:FE:2C:41:94 will expire in 671 days (1.0 years). ROOT CERTS: [] Certificate 9F:FD:DF:78:79:30:F9:31:56:85:05:22:F5:16:B1:03:6B:68:F2:F4 will expire in 3588 days (9.0 years). 0 EXPIRED CERTS ================ LEAF CERTS: None ROOT CERTS: None
すでに証明書の有効期限が切れている場合は、「EXPIRED CERTS」欄に有効期限が切れた証明書が表示され、STS証明書が有効期限切れとなっている旨のメッセージが出力されます。
0 VALID CERTS ================ LEAF CERTS: None ROOT CERTS: None 2 EXPIRED CERTS ================ LEAF CERTS: [] Certificate 66:85:64:80:19:1B:37:E3:AA:72:04:A1:5A:B3:2B:54:FE:2C:41:94 expired on 2020-08-01 13:00:00 GMT! ROOT CERTS: [] Certificate 9F:FD:DF:78:79:30:F9:31:56:85:05:22:F5:16:B1:03:6B:68:F2:F4 expired on 2020-08-01 13:00:00 GMT! WARNING! You have expired STS certificates. Please follow KB: https://kb.vmware.com/s/article/76719
マシンSSL証明書、及びソリューションユーザ証明書の有効期限の確認
vSphere 6.0の場合
マシンSSL証明書、及びソリューションユーザ証明書の有効期限は、統合管理サーバにて、コマンドを実行することで確認できます。
1.リモートデスクトップ接続を使用し、統合管理サーバへ接続します。
2.Windows PowerShellを管理者権限で実行します。
3.以下のコマンドを実行します。
PS> $VCInstallHome = [System.Environment]::ExpandEnvironmentVariables("%VMWARE_CIS_HOME%") PS> foreach ($STORE in & "$VCInstallHome\vmafdd\vecs-cli" store list){Write-host STORE: $STORE;& "$VCInstallHome\vmafdd\vecs-cli" entry list --store $STORE --text | findstr /C:"Alias" /C:"Not After"}
4.表示された実行結果から、各証明書の有効期限を確認します。実行結果に証明書に関連する「STORE」が表示されます。有効期限は、各証明書の「Not After」に表示されます。
STORE: MACHINE_SSL_CERT Alias : __MACHINE_CERT Not After : Mar 19 20:38:26 2023 GMT STORE: TRUSTED_ROOTS Alias : 8f64def576fc1b59a969cebd2be5e21503d4b912 Not After : Mar 14 08:38:26 2031 GMT STORE: TRUSTED_ROOT_CRLS Alias : f8df41bc48f51cf47efca3e7379601687c93fce5 STORE: machine Alias : machine Not After : Mar 19 08:29:06 2023 GMT STORE: vsphere-webclient Alias : vsphere-webclient Not After : Mar 19 08:29:07 2023 GMT STORE: vpxd Alias : vpxd Not After : Mar 19 08:29:07 2023 GMT STORE: vpxd-extension Alias : vpxd-extension Not After : Mar 19 08:29:08 2023 GMT STORE: SMS Alias : sms_self_signed Not After : Mar 19 08:43:14 2031 GMT PS>
対象の証明書に関連する「STORE」は以下のとおりです。
証明書 | 証明書のSTORE |
---|---|
マシンSSL証明書 | STORE: MACHINE_SSL_CERT |
ソリューションユーザ証明書 | STORE: machine STORE: vsphere-webclient STORE: vpxd STORE: vpxd-extension |
vSphere 6.5、vSphere 7.0、及びvSphere 8.0の場合
マシンSSL証明書、及びソリューションユーザ証明書の有効期限は、VMware vCenter Server ApplianceにSSH接続し、コマンドを実行することで確認できます。なお、SSHでリモート接続するには、SSHクライアントソフトをご用意ください。本オンラインマニュアルでは、Windows用フリーソフトウェアとして配布されているターミナルエミュレータ「Tera Term」を使用した接続方法を説明します。
1.「Tera Term」を起動し、VMware vCenter Server Applianceに接続します。
2.VMware vCenter Server Applianceに接続した後、以下の画面が表示されるため、「shell」と入力し、Enterキーを押します。
3.以下のコマンドを実行します。
# for i in $(/usr/lib/vmware-vmafd/bin/vecs-cli store list); do echo STORE $i; /usr/lib/vmware-vmafd/bin/vecs-cli entry list --store $i --text | egrep "Alias|Not After"; done
【参考】
本コマンドは1行で入力してください。
4.表示された実行結果から、各証明書の有効期限を確認してください。実行結果に証明書に関連する「STORE」が表示されます。有効期限は、各証明書の「Not After」に表示されます。(今回の例では、マシンSSL証明書、及びソリューションユーザ証明書の有効期限は、2022/6/29です)。
対象の証明書に関連する「STORE」は以下のとおりです。
証明書 | 証明書のSTORE |
---|---|
マシンSSL証明書 | STORE MACHINE_SSL_CERT |
ソリューションユーザ証明書 | STORE machine STORE vsphere-webclient STORE vpxd STORE vpxd-extension |