在 VMware ESXi 主机上启用 SSH
默认情况下,在 VMware ESXi 主机上禁用通过 SSH 远程访问命令提示符(服务器控制台)的功能。因此,当通过 SSH 连接到 ESXi 主机时,您将收到错误:
ssh: connect to host 192.168.50.13 port 22: Connection refused。在本文中,我们将介绍在 VMware ESXi 主机上启用 SSH 访问的所有方法。
在 ESXi 上通过 DCUI 控制台启用 SSH 访问
您可以通过服务器的 DCUI(直接控制台用户界面)在 VMware ESXi 主机上启用 SSH。为了这:
尝试使用任何 SSH 客户端远程连接到 ESXi 主机(我使用的是内置 Windows SSH 客户端):
ssh root@192.168.50.13连接到服务器控制台后,您可以使用 ESXi shell 命令执行各种维护或诊断任务。例如:
在 ESXi 主机上安装更新
检查并升级虚拟机硬件版本
强制重新启动没有响应的虚拟机
恢复意外删除的 VMFS 数据存储或对其进行扩展
在 ESXi 上配置 SNMP 代理
-
在VMware ESXi服务器上配置iSCSI LUN或检查它是否可用
减少VMware虚拟机磁盘大小
在 ESXi 控制台中完成所需的所有操作后,建议停止 SSH 服务
如何从 vSphere Web Client 在 ESXi 上启用 SSH?
您可以通过 vSphere Client Web 界面启用 SSH。
如果您使用独立的 ESXi 主机(或免费的 VMware Hypervisor),请连接到其 Web 界面:
https://192.168.50.13/ui/#/host。
转到管理 -> 服务;
在服务列表中选择TSM-SSH,然后点击启动;
默认情况下,ESXi 主机上的 SSH 服务是手动启动和停止的。您可以通过点击操作 -> 策略 -> 随主机启动和停止将 SSH 服务配置为自动启动。
要在连接到 vCenter 的 ESXi 主机上启用 SSH:
请注意,主机设置中有防火墙选项卡,您可以在此处设置允许通过SSH连接到ESXi主机的IP地址列表(默认情况下该列表是无限的)。
使用 PowerShell 在 VMware ESXi 上启用 SSH
您可以使用 VMware PowerCLI 模块中的 PowerShell cmdlet 在 ESXi 主机上启用 SSH 服务器。假设该模块已安装在您的计算机上(如果没有,请使用
Install-Module -Name Vmware.PowerCLI命令)。
要连接到 ESXi 主机或 vCenter 服务器,请运行以下命令:
Connect-VIServer <vCenter_or_ESXi_host_FQDN>如果 VMware vCenter 服务器上使用自签名证书,请在尝试连接之前运行以下命令:
Set-PowerCLIConfiguration -Scope AllUsers -InvalidCertificateAction Warn列出连接到此 vCenter Server 的所有 ESXi 主机及其上的 SSH 服务的状态:
Get-VMHost| Get-VMHostService | Where Key -EQ "TSM-SSH" | Select VMHost, Key, Running, Policy要在特定 ESXi 主机上启动 SSH,请运行以下命令:
Get-VMHostService -VMHost mun-esxi1 | Where-Object {$_.Key -eq "TSM-SSH" } | Start-VMHostService如果 ESXi 主机上启用了 LockDown 模式,您可以按如下方式禁用它:
(Get-VMHost mun-esxi1 |get-view).ExitLockdownMode()要启用锁定模式:
(Get-VMHost mun-esxi1 |get-view).EnterLockdownMode()要立即停止所有主机上的 SSH 服务,请使用以下 PowerShell 命令:
Get-VMHost | Foreach { Stop-VMHostService -confirm:$false -HostService ($_ | Get-VMHostService | Where { $_.Key -eq "TSM-SSH"} )}要抑制所有 ESXi 主机上的 SSH 登录警告:
Get-VMHost | Get-AdvancedSetting UserVars.SuppressShellWarning |Set-AdvancedSetting -Value 1请记住正确关闭 PowerShell 会话:
Disconnect-VIServer * -confirm:$false






