这个需求的原因主要是因为我的esxi是在内网,使用frp进行穿透,但是我的小水管太窄了,esxi的web页面加载非常慢,还需要输密码还能开电源,很烦,所有有了这个方式/。
n
通过 SSH 可以使用以下命令来开启虚拟机电源:
vim-cmd vmsvc/power.on VMID
其中,VMID 是您的虚拟机的标识符。您可以使用以下命令查看虚拟机的 VMID:
vim-cmd vmsvc/getallvms
这将列出所有虚拟机以及它们的 VMID。找到您的虚拟机的 VMID,并将其替换到第一个命令中的“VMID”位置。
使用这个命令,您可以通过 SSH 及命令行方式来开启虚拟机电源。
以下是一个简单的 Bash 脚本示例,它可以帮助您通过 SSH 登录到 ESXi 主机并开启虚拟机电源:
#!/bin/bash # 定义 ESXi 主机的地址和用户名 HOST=your_ESXi_host USERNAME=your_username VMID=your_VMID # 定义 ESXi 主机的密码(仅用于演示,实际生产环境中请不要在脚本中明文写入密码) read -s -p "Enter your password: " PASSWORD # 执行 SSH 命令来连接 ESXi 主机并开启虚拟机电源 sshpass -p $PASSWORD ssh $USERNAME@$HOST "vim-cmd vmsvc/power.on $VMID" # 清除密码 unset PASSWORD
在这个脚本中,您需要将 “your_ESXi_host” 替换为您的 ESXi 主机地址,”your_username” 替换为您的用户名,”your_VMID” 替换为您要开启的虚拟机的 VMID。此外,应该将您的ESXi主机添加到SSH信任列表中,这样脚本才能够自动登录,否则会要求手动接受SSH许可。
请注意,脚本中密码是以明文的方式输入的,这在安全性上是有风险的。在实际生产环境中,建议不要在脚本中明文写入密码,而是使用其他安全的方法来处理密码。