На хостах VMware ESXi по-умолчанию отключен удаленный доступ к командной строке (консоли сервера) через SSH. Поэтому при подключении к хосту через sshвы получите ошибку:
ssh: connect to host 192.168.13.51 port 22: Connection refused
. В этой статье мы рассмотрим все способы включения SSH доступа на хостах VMware ESXi.
Включить SSH доступ через консоль DCUI в ESXi
Можно включить SSH на хосте VMware ESXi через интерфейс DCUI сервера. Для этого:
- На экране входа DCUI на жмите F2 и введите пароль root;
- Перейдите в раздел System Customization -> Troubleshooting Options, выберите пункт Enable SSH и нажмите Enter;
Попробуйте подключиться к вашему хосту ESXi с помощью любого SSH клиента (я использую встроенный ssh клиент Windows):
- Установить обновления на сервер ESXi
- Проверить/обновить версию VM hardware
- Перезапустить зависшую виртуальную машину
- Восстановить удаленный VMFS датостор, или расширить его
- Настроить SNMP агент на ESXi
- Проверить доступность и настроить iSCSI LUN на сервере VMware ESXi
- Уменьшить размер диска виртуальной машины VMware
После выполнения действия в консоли ESXi рекомендуется всегда отключить службу SSH.
Включаем SSH на ESXi через vSphere Web Client
Можно включить SSH через веб-интерфейс клиента vSphere Client.
Если у вас используется отдельностоящий ESXi хост (или бесплатный VMware Hypervisor), подключитесь к его веб интерфейсу
https://192.168.13.50/ui/#/host
- Перейдите в раздел Manage -> Services;
- В списке служб выберите TSM-SSH и нажмите кнопку Start;
- По умолчанию служба SSH на ESXi хосте включается и отключается вручную. Можно настроить автоматический запуск SSH, нажав меню Actions -> Policy -> Start and stop with host.
Чтобы включить SSH на хосте ESXi, который подключен к vCenter, нужно:
- Найти хост в списке Inventory;
- Перейти на вкладку Configure -> Services;
- Найдите в списке службу SSH и включите ее кнопкой Start.
Обратите внимание, что в настройках хоста есть отдельная вкладка Firewall. Здесь можно ограничить список IP адресов, с которых хосту ESXi разрешено принимать SHSH подключения (по умолчанию список не ограничен).
Включить SSH доступ на VMware ESXi с помощью PowerShell
Вы можете включить SSH сервер на хосте ESXi с помощью PowerShell командлетов из модуля VMware PowerCLI. Предполагаем, что модуль уже установлен на вашем компьютере (если нет, установите его командой Install-Module -Name VMware.PowerCLI).
Для подключения к хосту ESXi или серверу vCenter выполните команду:
Connect-VIServer <FQDN_имя_vCenter_или_ESXi_хоста>
Set-PowerCLIConfiguration -Scope AllUsers -InvalidCertificateAction Warn
Выведитн список всех ESXi хостов, подключенных к этому серверу vCenter и статус SSH службы на них:
Get-VMHost| Get-VMHostService | Where Key -EQ "TSM-SSH" | Select VMHost, Key, Running, Policy
Чтобы включить SSH на определенном ESXi хосте, выполните:
Get-VMHostService -VMHost esxi1 | Where-Object {$_.Key -eq "TSM-SSH" } | Start-VMHostService
(Get-VMHost esxi1 |get-view).ExitLockdownMode()
Чтобы включить режим блокировки:
(Get-VMHost 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