如何在 ESXi 中配置和使用多因素身份验证(MFA)?

问题浏览数Icon
4
问题创建时间Icon
2025-06-01 04:40:00
作者头像
dodo2333

在ESXi中配置多因素身份验证(MFA)需结合第三方工具,因其原生不支持MFA。步骤如下:1. 部署Radius服务器(如FreeRADIUS),集成MFA应用(如Google Authenticator);2. 在ESXi主机启用Radius认证:通过vSphere Client进入主机-管理-安全配置文件-高级设置,配置Radius服务器IP、端口及共享密钥;3. 验证网络连通性(UDP 1812/1813);4. 测试登录流程,要求用户输入密码后提供动态验证码。注意:需保留本地管理员账户作为应急,并确保Radius服务高可用。

更多回答

作者头像
coolduo233

在ESXi中配置多因素身份验证(MFA)需结合第三方工具(如RADIUS服务器)与ESXi的本地用户认证集成。首先在ESXi主机中启用RADIUS服务,配置服务器地址和密钥,随后通过支持MFA的RADIUS服务(如FreeRADIUS+Google Authenticator)实现双因素验证。

延伸知识点:RADIUS服务器与ESXi集成配置

  1. 安装RADIUS服务:在Linux服务器部署FreeRADIUS,安装libpam-google-authenticator模块支持TOTP动态令牌。
  2. 证书配置:生成RADIUS服务器证书(/etc/raddb/certs),确保ESXi信任该CA证书。
  3. 用户绑定MFA:通过google-authenticator生成用户密钥,保存至RADIUS用户的authorize文件,添加Auth-Type := Accept并指定验证模块。
  4. ESXi设置:在vSphere Client中进入主机-管理-系统-高级设置,配置Config.HostAgent.plugins.hostsvc.esxAdminsGroup为RADIUS组,并添加RADIUS服务器IP和共享密钥。
  5. 防火墙规则:确保ESXi主机的UDP/1812端口开放用于RADIUS通信。
  6. 验证测试:通过radtest命令模拟认证流程,成功后使用ESXi本地用户凭据+动态令牌完成登录。
作者头像
haiyan77
  1. 验证ESXi版本:确保ESXi主机运行vSphere 7.0或更高版本(支持TOTP多因素认证)。
  2. 配置SSO域:通过vSphere Client登录vCenter,进入"Menu > Administration > Single Sign On > Configuration",在"身份源"中添加/修改域,勾选"启用多因素认证"。
  3. 生成TOTP密钥:在ESXi主机SSH中执行 /usr/lib/vmware/openidm/tools/otpgen/otpgen.sh -u <用户名> 生成密钥和二维码,用户需通过Google Authenticator等APP扫描绑定。
  4. 强制MFA策略:在vCenter的"访问控制 > 认证策略"中创建新策略,应用范围选择对应域,勾选"要求第二认证因素"。
  5. 测试登录:用户登录时需输入密码+动态验证码。
  6. 备份恢复密钥:通过 /usr/lib/vmware/openidm/tools/otpgen/otp-recovery-codes.sh 生成备用代码,防止设备丢失。
作者头像
ptmojo88

从技术支持工程师角度,常用解决方案是通过集成RADIUS服务实现ESXi的MFA验证,步骤如下:

  1. 部署RADIUS服务器

    • 安装FreeRADIUS或Windows NPS,配置网络策略(如允许ESXi主机IP),设置共享密钥。
    • 集成MFA工具(如Google Authenticator、Duo等),绑定用户账号生成TOTP动态令牌。
  2. ESXi主机配置

    • 登录ESXi Web Client,进入【主机】→【管理】→【系统】→【高级设置】。
    • 编辑Config.HostAgent.plugins.hostsvc.esxAdminsGroup,指定允许MFA的管理组(如ESXAdmins)。
    • 在【网络】→【TCP/IP配置】中确保ESXi与RADIUS服务器网络连通(UDP 1812端口)。
  3. 启用RADIUS认证

    • 在【身份验证服务】中选择【RADIUS服务器】,填写服务器IP、端口、共享密钥。
    • 点击【测试连接】验证配置,成功后保存并重启vmware-authd服务。
  4. 用户验证测试

    • 使用SSH或Web Client登录ESXi,输入用户名后触发RADIUS验证流程。
    • 根据MFA工具提示输入动态令牌(如手机APP生成的6位代码)。

注意:需保留本地管理员账户作为备用,配置前备份ESXi主机,并确保时间同步(NTP)避免TOTP失效。

作者头像
kuangyu99

是否考虑过将ESXi与第三方身份提供商(如Okta或Duo)集成来实现更灵活的多因素认证?