eam.logにおいて「Failed to login to vCenter as extension, Cannot complete login due to an incorrect user name or password」がvCenter Server 証明書の置き換え後に発生
search cancel

eam.logにおいて「Failed to login to vCenter as extension, Cannot complete login due to an incorrect user name or password」がvCenter Server 証明書の置き換え後に発生

book

Article ID: 427219

calendar_today

Updated On:

Products

VMware vCenter Server

Issue/Introduction

免責事項:これは英文の記事「EAM "Failed to login to vCenter as extension, Cannot complete login due to an incorrect user name or password" after replacing the vCenter Server certificates」の日本語訳です。記事はベストエフォートで翻訳を進めているため、ローカライズ化コンテンツは最新情報ではない可能性があります。最新情報は英語版の記事で参照してください。

vCenter Server で証明書を置き換えた後、次の症状が現れる場合があります。

  • ESX Agent Manager (EAM) ソリューション ユーザーが vCenter Server (vpxd) にログインできません。
  • /var/log/vmware/eam/eam.log (VCSA 上) ファイル内:

    YYYY-MM-DDTHH:MM:SS.MSZ | INFO | eam-0 | VcConnection.java | 167 | Connecting to vCenter as com.vmware.vim.eam extension
    YYYY-MM-DDTHH:MM:SS.MSZ | INFO | eam-0 | VcConnection.java | 603 | Connecting to https://vCenter_Server_FQDN:8089/sdk/vimService via vCenter proxy http://localhost:80
    YYYY-MM-DDTHH:MM:SS.MSZ | DEBUG | http-bio-0.0.0.0-15005-exec-1 | AllowAllSamlTokenPolicy.java | 24 | HealtStatus request's token subject name: machine-########-####-####-####-#######, subject domain: vsphere.local
    YYYY-MM-DDTHH:MM:SS.MSZ | ERROR | eam-0 | VcConnection.java | 179 | Failed to login to vCenter as extension. vCenter has probably not loaded the EAM extension.xml yet.: Cannot complete login due to an incorrect user name or password.
    YYYY-MM-DDTHH:MM:SS.MSZ | WARN | eam-0 | VcListener.java | 114 | Trying to recover from error
    (vim.fault.InvalidLogin) {
    faultCause = null,
    faultMessage = null
    }
    .
    .
    YYYY-MM-DDTHH:MM:SS.MSZ | INFO | eam-0 | VcListener.java | 121 | Retrying in 10
    or

    YYYY-MM-DDTHH:MM:SS.MSZ |  WARN | vim-async-1 | ExtensionSessionRenewer.java | 227 | [Retry:Login:com.vmware.vim.eam:################] Re-login failed, due to:
    com.vmware.eam.security.NotAuthenticated: Failed to authenticate extension com.vmware.vim.eam to vCenter.
    .
    .
    Caused by: com.vmware.vim.binding.vim.fault.InvalidLogin: Cannot complete login due to an incorrect user name or password."

    YYYY-MM-DDTHH:MM:SS.MSZ | ERROR | vim-monitor | VcListener.java | 124 | An unexpected error in the changes polling loop
    com.vmware.eam.EamRemoteSystemException: Unexpected error communicating with the vCenter server.
    .
    .
    Caused by: com.vmware.vim.binding.vim.fault.NotAuthenticated: The session is not authenticated.

  • NSX for vSphere または vCloud Networking and Security から ESXi ホストに VIB をデプロイできません
  • vCenter Server の CPU 使用率が上昇
  • vCenter は VLCM VM またはサービス VM を自動展開できなくなります
  • EAMサービスが起動に失敗する可能性があります
  • DRS 機能に関するエラー:
    vSphere クラスタサービス仮想マシンが利用できないために vSphereクラスタサービス の健全性が失われ、vSphere DRS の機能が影響を受けました。

 

この問題は、vCenter Server Appliance (VCSA) アップグレードのステージングが失敗し、以下のエラー メッセージが表示された場合にも発生する可能性があります:
Source vSphere ESX Agent Manager (EAM) upgrade failed to obtain EAM URLs to check against trusted certificates by the System

Environment

  • VMware vCenter Server 7.0.x
  • VMware vCenter Server 8.0.x

Cause

この問題は次のような場合に発生する可能性があります。

Resolution

この問題は vCenter Server 8.0 U3 で修正されています。

8.0 U3 へのアップグレードが実行できない場合は、以下の手順を実行して vpxd-extension を更新し、問題を解決してください。

vCenter Server Appliance の vpxd-extension 証明書の更新手順:

  1. SSH を使用して vCenter Server Appliance にログインします。
  2. vpxd-extension ソリューションのユーザー証明書とキーを取得するには、次のコマンドを実行します。

    mkdir /certificate

    /usr/lib/vmware-vmafd/bin/vecs-cli entry getcert --store vpxd-extension --alias vpxd-extension --output /certificate/vpxd-extension.crt
    /usr/lib/vmware-vmafd/bin/vecs-cli entry getkey --store vpxd-extension --alias vpxd-extension --output /certificate/vpxd-extension.key
  3. 以下のコマンドの「<vCenter_Server_Hostname>」を編集し、次のコマンドを実行して、vCenter Server で拡張機能の証明書を更新します。

    python /usr/lib/vmware-vpx/scripts/updateExtensionCertInVC.py -e com.vmware.vim.eam -c /certificate/vpxd-extension.crt -k /certificate/vpxd-extension.key -s <vCenter_Server_Hostname> -u [email protected]

    注: デフォルトのユーザー名とドメインは [email protected] です。環境の vCenter SSO に合わせてドメインを変更してください。プロンプトが表示されたら、[email protected] のパスワードを入力してください。
  4. 以下のコマンドで VMware ESX Agent Manager サービスを再起動します。
    ※eam再起動に伴う仮想マシンへの影響はありません

    service-control --stop vmware-eam
    service-control --start vmware-eam

注: 上記の手順で問題が解決しない場合は、certificate managerのオプション 6 を使用して、新しいソリューションユーザー証明書を再生成する必要があります。参照: Regenerate vSphere 6.x, 7.x, and 8.0 certificates using self-signed VMCA

Additional Information

特定の状況において、「証明書の検証に失敗しました: ホスト名が一致しません。証明書は 'sdkTunnel' に対して有効ではありません」というエラーが表示される場合があります。このエラーが「"com.vmware.vim.eam" 拡張機能の証明書が正常に更新されました」というメッセージの後に表示される場合は、vCenter Server で拡張機能証明書が正常に更新されたことを確認するメッセージであるため、無視しても問題ありません。

root@hostname [ ~ ]# python /usr/lib/vmware-vpx/scripts/updateExtensionCertInVC.py -e com.vmware.vim.eam -c /certificate/vpxd-extension.crt -k /certificate/vpxd-extension.key -s <vCenter_Server_Hostname> -u [email protected]
Password to connect to VC server for user="[email protected]":
[YYYY-MM-DDTHH:MM:SS]  Updating certificate for "com.vmware.vim.eam" extension
[YYYY-MM-DDTHH:MM:SS]  Successfully updated certificate for "com.vmware.vim.eam" extension
Traceback (most recent call last):
  File "/usr/lib/vmware-vpx/scripts/updateExtensionCertInVC.py", line 175, in <module>
    update_extension_cert_in_VC()
  File "/usr/lib/vmware-vpx/scripts/updateExtensionCertInVC.py", line 163, in update_extension_cert_in_VC
    sessionMgr = si.content.sessionManager
  File "/usr/lib/vmware/site-packages/pyVmomi/VmomiSupport.py", line 577, in __call__
    return self.f(*args, **kwargs)
  File "/usr/lib/vmware/site-packages/pyVmomi/VmomiSupport.py", line 382, in _InvokeAccessor
    return self._stub.InvokeAccessor(self, info)
  File "/usr/lib/vmware/site-packages/pyVmomi/StubAdapterAccessorImpl.py", line 42, in InvokeAccessor
    return self.InvokeMethod(mo, info, (prop, ))
  File "/usr/lib/vmware/site-packages/pyVmomi/SoapAdapter.py", line 1525, in InvokeMethod
    conn.request('POST', self.path, req, headers)
  File "/usr/lib/python3.7/http/client.py", line 1277, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/usr/lib/python3.7/http/client.py", line 1323, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.7/http/client.py", line 1272, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.7/http/client.py", line 1032, in _send_output
    self.send(msg)
  File "/usr/lib/python3.7/http/client.py", line 972, in send
    self.connect()
  File "/usr/lib/python3.7/http/client.py", line 1447, in connect
    server_hostname=server_hostname)
  File "/usr/lib/python3.7/ssl.py", line 423, in wrap_socket
    session=session
  File "/usr/lib/python3.7/ssl.py", line 870, in _create
    self.do_handshake()
  File "/usr/lib/python3.7/ssl.py", line 1139, in do_handshake
    self._sslobj.do_handshake()
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: Hostname mismatch, certificate is not valid for 'sdkTunnel'. (_ssl.c:1076)

その他の同様の KB 記事: