※この記事で紹介するのは、Machine SSL Certのアップデートについて解説します。
※この記事はあくまで参考程度の資料となります。何かあっても自己責任でお願いします。
上記の記事に書いているvSphere Clientへログインができなくなった件について、別の担当サイトでも同様の事例が起こっていました。
改めて対応しようと調査したところ、上記の記事内で紹介しているKBで実行する「Certificate Manager」が非推奨となっている状況で、非推奨な物では実行できん…という感じに。
なので、記事を新しく書いています。
今後は?
今後については、vCertを利用して証明書の再発行をしてくれ、との記事になっています。
詳しく書かれたKBは以下になります。
オンラインでできるの?
業務提供中にオンラインでできます。
証明書の期限について確認します
まずは証明書の期限を確認しましょう。
この記事で紹介するのは、Machine SSL Certのアップデートについて解説します。
ターミナルソフトでvCSAサーバーへ接続する
ターミナルソフト(TeraTerm等)を使い、vCSAサーバーへログインします。
バッシュモードに移行します
shell
root@~の文字になれば良いです。

コマンドを入力し、証明書期限を確認する
for store in $(/usr/lib/vmware-vmafd/bin/vecs-cli store list | grep -v TRUSTED_ROOT_CRLS); do echo “[*] Store :” $store; /usr/lib/vmware-vmafd/bin/vecs-cli entry list –store $store –text | grep -ie “Alias” -ie “Not After”;done;
上記のコマンドを入力し、現在適用されている証明書の期間を確認します。

上記の「Not After」部分で今日の日付より前のものは証明書の期限が切れています。
※上記画像は対処後なので、MACHINE_SSL_CERTは更新されています。
じゃあ実際に再作成、やってみましょう
PNID、ホスト名を確認する
後々の証明書再作成時にPNIDとホスト名を入力する必要がある項目が出てくるので、事前に確認を行います。
○PNIDの確認
# /usr/lib/vmware-vmafd/bin/vmafd-cli get-pnid –server-name localhost
○ホスト名の確認
# uname -n
○IPアドレスの確認
# ifconfig
上記で調べた値をメモしておきます。
vCertをvCSAサーバーへアップロードする
vCertでのバージョンアップを行う際、vCertをvCenterサーバーへ適用する必要があります。
以下の記事の最下部に、vCertのモジュールリンクが格納されていますので、事前にダウンロードしておきます。

ターミナルソフトで、vCSAサーバーへログインします。
ログイン後、ターミナルソフトのSCP機能を利用して、vCertを/tmpフォルダにアップロードします。
TeraTermだと、ファイル⇒SSH SCPを選択して転送を行います。

上部の送信枠内について、FromにvCertのZipファイルを選択し、Toに「/tmp」フォルダを指定します。Sendボタンをクリックしてサーバーへ転送します。

この時、SCPでの転送ができない場合があります。その際は常時Bashモードで起動するように設定を行う必要があるとのことでした。(HPE担当社より)
手順としては以下の通りです。
- vCenter Server Appliance への SSH 接続を開始します。
- プロンプトが表示されたら、root ユーザーのユーザー名とパスワードを指定します。
- vCenter Server 6.0 の場合は、次のコマンドを実行して Bash シェルを有効にします。vCenter Server 6.5 以降のバージョンでは実行する必要はありません。
$ shell.set –enable True
- 次のコマンドを実行して、Bash シェルにアクセスします。
$ shell
- Bash シェルで、次のコマンドを実行してデフォルト シェルを Bash に変更します。
$ chsh -s /bin/bash root
この状態にした上で、もう一度SSH SCPで転送を行うと、/tmpフォルダにファイルが入ったと思います。
以下のコマンドを入力し、/tmpフォルダに移動した後、lsコマンドでファイルリストを確認します。
# cd /tmp
# ls
vCertのZipファイルを解凍する
ファイルを格納したら、次はzipファイルを解凍します。
現在は/tmpフォルダにいるので、以下のコマンドでzipファイルを解凍します。
※公開されているzipファイルが更新されている可能性があるので、正しいファイル名にして実行してください。
# unzip -q vCert-6.1.0-20250910.zip
解凍が終わったら、lsコマンドで解凍がされたかを確認します。
# ls
解凍したフォルダに移動し、vCertを実行します。
# cd vCert-6.1.0-20250910
# chmod +x vCert.py# ./vCert.py
ここまで問題なく進むと、以下のメニュー画面が表示されます。

証明書の状況を再度確認する
このメニュー上で「1」を選択すると、現在vCSAサーバーで認識している証明書の状況を確認できます。

上記のように、Machine SSL certificateが「EXPIRED」になっている状況で、証明書の期限が切れている事が分かります。
証明書を再作成する
証明書を再作成する手順に移ります。有効期間確認後、メニュー画面に戻っていると思いますので、メニューの「3」を選択します。

Manage vCenter Certificatesメニューに変わります。
「1」を選択し、Machine SSL certificateを再作成します。

VMCA用の証明書となるので、「1」を選択します。

証明書更新に必要な情報について入力するように求められます。
入力が求められる項目の内、以下の2つについては、事前に確認しておいた値を入力する必要があります。それ以外はデフォルトのままエンターで進めて構いません。
・Enter the IP address (optional) ⇒ vCSAサーバーのIPを入力
・Enter any additional hostname for SAN entries ⇒ PNIDを入力
※PNIDがIPアドレスだった場合、uname -nで調べたホスト名を代わりに入力

再起動する
適用が完了するとサービスを再起動するかを聞かれますので、再起動して良ければ「Y」を返します。

再起動が完了しましたら、vCSAをWebブラウザで起動し、ログインができるかを確認します。

TereTermは切断して構いません。
まとめ
vCertに変わってからの証明書再発行手順を紹介しました。
昔のマネージャ画面と比べて、作成手順が少し簡易的になった気がしています。
参考になるかは分かりませんが、この記事が参考になれば幸いです。
コメント