
登录 vCenter Server 管理 VCF 9.0 环境时你是否突然发现多个陌生账户?其实这些不是恶意账号而是系统自动创建的托管服务账户 —— 要么是 vCenter 服务器虚拟机(VCSA)的内部服务账户要么是 VCF 组件间通信所需的专用账户。本文用最简单的语言带你搞懂这些账户的由来还提供可直接套用的脚本帮你快速识别、分类这些账户轻松完成环境合规审计全程不用复杂操作新手也能上手。一、为啥 vCenter 里会出现 不认识 的账户?很多人第一次看到 vCenter 里的陌生账户会慌我没创建过啊是不是被入侵了? 其实完全不用紧张!这些账户都是系统自动生成的主要分两类1.VCSA 内部服务账户vCenter 服务器虚拟机(VCSA)本身运行着很多应用服务这些账户是每个服务的 专属身份用来保障服务正常启动和运行;2.VCF 托管服务账户VCF 是由多个组件组成的云基础架构这些账户是组件间 沟通的桥梁比如让 vCenter 和 NSX、数据服务管理器(DSM)等组件正常协作。这些账户都是系统托管的不用我们手动创建或修改但搞清楚它们的身份能帮我们做好环境安全审计避免误删导致系统故障。二、识别服务账户的两种方法(新手优先选第二种)想要列出这些服务账户VCF 9.0 提供了两种方式其中第二种不用开启 SSH更安全方便新手直接冲方法一通过 SSH 登录 VCSA 查看(需要技术基础)如果熟悉 SSH 操作可以直接登录 VCSA执行命令 /usr/lib/vmware-vmafd/bin/dir-cli svcaccount list --password 你的SSO管理员密码就能看到所有服务账户。但这种方式需要开启 VCSA 的 SSH 功能对新手来说有点复杂还可能误操作所以更推荐第二种。方法二用 PowerCLI 脚本远程查看(小白友好)VCSA 9.0 新增了 来宾操作 API不用开启 SSH只要用简单的 PowerCLI 脚本就能远程获取所有服务账户。下面是可直接套用的脚本只需修改 3 个参数powershell# 请替换以下3个参数为你的环境信息 $vcenterVMName vc01 # 你的VCSA虚拟机名称(比如vc01、vcenter-server) $vcenterSSOAdminPassword VMware1!VMware1! # 你的vSphere SSO管理员密码 $vcenterRootPassword VMware1!VMware1! # 你的VCSA root密码 # 执行命令列出所有服务账户 Invoke-VMScript -ScriptText /usr/lib/vmware-vmafd/bin/dir-cli svcaccount list --password ${vcenterSSOAdminPassword} -vm (Get-VM $vcenterVMName) -GuestUser root -GuestPassword $vcenterRootPassword脚本使用说明先安装 PowerCLI 工具(网上搜 PowerCLI 安装教程几步就能完成);把脚本里的 3 个参数改成你自己的信息(虚拟机名称、两个密码);复制脚本到 PowerCLI 中执行就能看到所有服务账户的列表。三、怎么区分哪些是 VCF 专属账户?哪些是 VCSA 内部账户?执行脚本后会列出很多账户不用一个个猜记住两个简单规则就能快速分类1. VCF 托管服务账户认准 svc- 前缀所有以 svc- 开头的账户都是 VCF 专门创建的托管服务账户比如 svc-vcf-network、svc-vcf-storage这些账户负责 VCF 各组件间的通信不能删除。2. VCSA 内部服务账户带 共同 ID 后缀很多账户的末尾会带有一串相同的字符(比如 xxx-123456)这串字符就是 VCSA 的 主机 ID通过这个 ID 能快速识别 VCSA 内部账户。想要查看这个共同 ID只需在 VCSA 中查看文件 /etc/vmware/install-defaults/sca.hostid 即可(也可以用上面的远程脚本获取后面会给完整工具)。3. 其他第三方账户如果你的环境还部署了 DSM、NSX Manager 等工具还会出现这些工具创建的服务账户从名称就能大致判断(比如带有 dsm-、nsx- 前缀)。(说明截图中会清晰显示三类账户标注出 svc- 前缀的 VCF 账户、带共同 ID 的 VCSA 内部账户以及第三方工具账户)四、完整工具一键分类所有服务账户(小白直接用)为了让大家更方便地区分账户我整理了一个完整的 PowerCLI 脚本(list_all_vcenter_service_accounts.ps1)执行后会自动把账户分成 VCF 托管服务账户、VCSA 内部服务账户、其他服务账户 三类输出结果一目了然。(说明脚本会自动获取 VCSA 的共同 ID然后过滤并分类所有账户新手只需替换参数即可执行)五、脚本输出解读(一看就懂)执行完整脚本后你会看到类似这样的结果VCF 托管服务账户(7 个)svc-vcf-xxx、svc-vcf-yyy...(负责 VCF 组件通信);VCSA 内部服务账户(15 个)xxx-123456、yyy-123456...(带共同 IDVCSA 自身服务使用);其他服务账户(3 个)dsm-xxx、nsx-yyy...(第三方工具创建)。不同环境的账户数量会不一样主要取决于你部署的 VCF 组件和第三方工具但分类逻辑完全相同只要按照 前缀 后缀 的规则就能快速识别。六、重要提醒(避免踩坑)这些服务账户都是系统必需的千万不要随意删除或修改密码否则会导致 VCF 或 vCenter 功能故障;执行脚本时确保输入的密码正确(SSO 管理员密码和 VCSA root 密码)否则会执行失败;如果需要定期审计可把脚本保存下来每次只需修改参数就能快速执行不用重复写命令。通过上面的方法新手也能轻松搞懂 vCenter 里的 神秘账户既不用害怕陌生账户的存在也能清晰掌握环境中的账户情况为合规审计和安全管理打下基础。如果执行脚本时遇到问题可查看 VCF 官方文档或在评论区留言咨询