Как получить доступ к скрытой консоли VMware ESXi

Опубликовано: 23 Апреля, 2023

Введение

В полной версии VMware ESXi Server, доступной уже много лет, есть специальная «виртуальная машина», на которой работает модифицированная версия Red Hat Linux Enterprise. Эта специальная виртуальная машина называется служебной консолью и используется для администрирования хост-системы ESX.

В бесплатном сервере VMware ESXi эта сервисная консоль удалена. В этом есть много преимуществ — меньше накладных расходов, меньше исправлений и большая безопасность. В ESXi «консоль» представляет собой простой желто-черный текстовый интерфейс с меню и только самыми основными параметрами. Однако на самом деле ESXi имеет чрезвычайно тонкую консоль на базе Linux, к которой можно получить доступ.

Официально VMware говорит, что вы должны администрировать свой сервер ESXi с помощью GUI VI Client или CLI VMware RCLI. Таким образом, если вы хотите выполнять команды и сценарии на своем сервере ESXi, вам необходимо установить интерфейс удаленной командной строки на свой ПК с Windows.

Однако есть еще один интерфейс командной строки для ESXi, который можно использовать для запуска команд непосредственно на сервере. Это отличается от RCLI, где команда запускается на вашем локальном управляющем ПК и подключается к хосту ESXi по сети. Разница в том, что с RCLI вы не можете, скажем, редактировать удаленный файл, как если бы вы использовали традиционную сервисную консоль ESX Server.

Таким образом, единственный способ отредактировать файл, такой как /etc/hosts или /etc/inetd.conf, — это получить доступ к этому скрытому и неподдерживаемому тонкому интерфейсу Linux и отредактировать эти файлы с помощью vi. Кроме того, со скрытой консолью ESXi вы можете запускать такие команды, как esxtop, esxcfg-route и vmkfstools.

Как получить доступ к скрытой консоли VMware ESXi?

Получить доступ к скрытой и неподдерживаемой консоли ESXi несложно, если вы знаете, как это сделать. Однако, если вы не знаете, как это сделать, нет пункта меню или легкодоступного файла справки, который подскажет вам, как получить к нему доступ.

Чтобы получить доступ к скрытой и неподдерживаемой консоли ESXi, вы должны перейти в консоль сервера. Вы не можете получить доступ к этой консоли через RCLI, RDP, клиент VI или другим способом. Единственный способ получить доступ к консоли ESXi — перейти в консоль сервера.

Изображение 28267
Рисунок 1: Консоль ESXi

Как только вы окажетесь в консоли сервера, нажмите Alt-F1.

Изображение 28268
Рисунок 2: После нажатия Alt-F1

В этот момент вы увидите журнал консоли о том, что произошло на сервере, но нет приглашения и файла справки. Если вы что-то напечатаете, это не появится на экране.

Что вам нужно сделать, так это ввести команду unsupported и нажать Enter. Опять же, это не будет отображаться на экране. Когда вы это сделаете, вот что вы увидите:

Изображение 28269
Рисунок 3: После ввода «unsupported» в ESXi

Это активировало то, что VMware назвала «режимом технической поддержки». Как говорится в предупреждении, это не поддерживается, если вы не используете его с помощью службы технической поддержки VMware. Из-за этого ни VMware, ни я не можем дать никаких гарантий, если при использовании этого интерфейса с вашим сервером ESXi произойдет что-то неожиданное. Из-за этого вы должны делать это только в ТЕСТ-системе.

Теперь введите корневой пароль ESXi Server.

Изображение 28270
Рисунок 4: Успешный вход в скрытую консоль ESXi Server

На этом этапе вы успешно вошли в скрытую консоль ESXi. Итак, что вы можете сделать, когда вы здесь? Давайте узнаем…

Что я могу делать внутри скрытой консоли VMware ESXi?

Скрытая / неподдерживаемая консоль ESXi представляет собой «Linux-подобный» интерфейс, но чрезвычайно легкий по сравнению с реальной установкой Linux. Например, некоторые из самых основных команд Linux работают как ls (для отображения файлов), cd (для изменения каталогов), rm (для удаления файлов), cp (для копирования файлов), vi (для редактирования файлов) и reboot.

Однако другие распространенные команды Linux, такие как more, pg, nano или man, не работают.

Самые интересные конфигурационные файлы находятся в /etc, как и в Linux. Наиболее полезные команды, которые вы можете выполнить, находятся в /sbin.

В этой статье я предлагаю краткий обзор командной строки ESXi, но для более полного ознакомления вам следует прочитать главу 2 Справочного и установочного руководства по удаленному интерфейсу командной строки VMware, поскольку в ней подробно рассматриваются команды vicfg-xxxx. Однако внутри консоли ESXi вы запускаете большинство тех же команд vicfg-xxxx, но вместо этого они начинаются с esxcfg-xxxx (устаревшая версия). Фактически, в Справочном руководстве RCLI (ссылка выше) есть диаграмма, которая показывает эквивалентный синтаксис команд от esxcfg-xxxx до vicfg-xxxx.

На мой взгляд, самое важное, для чего я использовал скрытую/неподдерживаемую консоль ESXi, — это редактирование текстовых файлов конфигурации на сервере ESXi. Это важно, потому что, как я уже сказал, это невозможно сделать с помощью RCLI. Например, вот несколько текстовых файлов, которые я редактировал:

  1. /etc/hosts — из-за проблем, связанных со случайным появлением и удалением серверов ESXi из моего пула ресурсов VMHA, технический специалист VMware попросил меня отредактировать файл /etc/hosts, чтобы статически создавать записи хостов для других хостов ESXi в RP. Это было сделано, чтобы исключить любые проблемы с DNS.
  2. /etc/inetd.conf — этот файл можно использовать для включения служб, которые иначе нельзя было бы включить. Например, удалив решетку (#) перед ssh или ftp, я могу включить эти службы на своем сервере ESXi.

Вот пример редактирования файла inetd.conf для включения SSH:

Изображение 28271
Рисунок 5: Редактирование файла inetd.conf для включения SSH

Конечно, есть и другие файлы, которые можно редактировать или просматривать, например файл passwd или inittab.

Опять же, я предупреждаю, что все это не поддерживается VMware, если вы не выполняете эти шаги под их руководством.

Вывод

В этой статье я рассказал о «скрытой» и неподдерживаемой консоли сервера VMware ESXi. Почти все знают, что у ESXi нет служебной консоли, но есть скрытая консоль. В этой статье я также продемонстрировал преимущества использования этой скрытой консоли. Прежде всего, это преимущество заключается в том, что вы можете редактировать текстовые файлы непосредственно на сервере, чтобы включить такие службы, как SSH. Однако, поскольку у вас есть доступ к консоли сервера и вы можете делать гораздо больше, чем в простом интерфейсе меню консоли, возможности настройки и настройки ограничены только ограниченным набором команд на сервере.