ひよっこエンジニアの備忘録

日常とかSEとしての備忘を書いていきます。

vCenter Server rootパスワード期限切れ時の対処

vCenterサーバで確認したいことがあり、rootでSSHしようとすると「You are required to change your password immediately (administrator enforced)」メッセージがでてしまい
ログインできない事象が発生しました。
(パスワード変更のプロンプトがでてきたのでそのまま変更しようとしたのですが、なぜかNew passwordを入力するとSSHが切断される謎の事象…)

(root@vcsa) You are required to change your password immediately (administrator enforced)
Changing password for root.
Current password:
(root@vcsa) New password:
Connection closed by X.X.X.X port 22

とりあえずGrubメニューからrootパスワードの復旧しましたので対処方法を残しておきます。

[今回対処を行ったvSphere環境]

VMware vCenter Server 7.0.3 build-21290409
VMware ESXi 7.0.3 build-21686933




[対処手順]

・vCenterサーバが動作するESXiホストのWEB UI(HostClient)にログイン。

仮想マシン>対象のvCenterサーバを選択。

・赤枠内コンソールからvCenterサーバ仮想マシンのコンソールを起動させておく。その後vCenterサーバ再起動。

・PhotonOSが起動したら、「e」キーを連打してGRUBメニューへ入る

・以下赤枠の位置に「rw init=/bin/bash」と入力しF10キーを入力して起動を続行。
 ※ちなみに英語キー配列で入力することになります。
  「=」は[Shift]+[-]では入力できず、日本語キー配列の[^]キーを押せば「=」が入ります。

bashシェルが起動したら、passwdコマンドでrootパスワードを再設定。

・「passwd: password updated successfully」と出力されたら、「reboot -f」コマンドを入力しvCenterサーバを再起動し作業完了。




[対処後の確認]

vCenterサーバの再起動が完了したら、ブラウザから「https://<VCのIPアドレス or FQDN>:5480」へアクセスし管理画面に入れるか試してみます。

無事にアクセスできました!

CLIでも無事にrootユーザでSSHできることを確認。

VMware vCenter Server 7.0.3.01300

Type: vCenter Server with an embedded Platform Services Controller

(root@vcsa) Password:
client_input_hostkeys: hostkeys_foreach failed for /home/user/.ssh/known_hosts: Permission denied
Connected to service

    * List APIs: "help api list"
    * List Plugins: "help pi list"
    * Launch BASH: "shell"

Command>


rootパスワードの有効期限がまた切れると面倒なので、このタイミングでパスワード有効期限を無効化しました…
vCenter Server管理>管理>パスワード有効期限の設定より、パスワードの有効期限:[いいえ]にチェックいれて保存するとパスワードの有効期限を無効化することができます。

なお私の環境はラボ用ということもあって、即変更前のパスワードへ変更しようとしたのですが
vCenterのパスワード変更ポリシーが厳しく、、泣く泣く適当なパスワードへ5回変更して6回目で変更前のパスワードへ戻しました…
パスワードを使いまわそうとしている方はご注意を。

root以外のユーザであれば割と簡単にパスワード変更できるイメージですが、rootユーザのパスワードが切れるとなかなか面倒なので気を付けたいですね。