Недавно мы писали о выходе новой версии пакета продуктов VMware Cloud Foundation 4.4, предназначенного для создания виртуального датацентра организации. Напомним, что он включает в себя компоненты VMware vRealize Suite, VMware vSphere Integrated Containers, VMware Integrated OpenStack, VMware Horizon, NSX и другие, работающие в онпремизной, облачной или гибридной инфраструктуре предприятия под управлением SDDC Manager.
Напомним, что одной из новых возможностей VCF 4.4 стало то, что теперь сервис SSH отключен на всех хостах ESXi по умолчанию - это новая конфигурация, которая применяется в соответствии с рекомендациями по безопасности.
Если по какой-то причине на одном или нескольких хостах в рамках доменов рабочей нагрузки (workload domains) вам нужно использовать SSH, то вот как можно это сделать.
Чтобы включить SSH на всех доменах и хостах ESXi вашей инфраструктуры, нужно выполнить следующую консольную команду SDDC Manager как root:
/opt/vmware/sddc-support/sos --enable-ssh-esxi --domain-name ALL
Если нужно включить SSH на одном из доменов, то делается это так:
Многие администраторы пользуются Putty для соединения с хостами VMware ESXi по протоколу SSH. Между тем, в веб-клиенте ESXi Embedded host client есть способ получить доступ к SSH-консоли прямо в браузере, реализованный на базе технологии HTML5.
Чтобы начать использовать консоль, надо сначала зайти на вкладку Services в разделе Manage и найти службу TSM-SSH:
Ее надо включить и поставить ей опцию запуска вместе с загрузкой хоста (Start and stop with host):
После этого в меню Action хостового веб-клиента надо выбрать пункт SSH Console:
Далее эта консоль загрузится в новой вкладке браузера:
Если вы часто заходите на хост-серверы VMware ESXi по SSH, то вам может оказаться полезным плагин sshAutoConnect для vCenter, который позволяет добавить соответствующий пункт в контекстное меню vSphere Client для хостов ESXi.
Плагин sshAutoConnect состоит из двух файлов - xml, который определяет конфигурацию плагина, и, собственно, dll-библиотека с плагином. Инсталляция плагина проста - нужно положить эти два файла в отдельную папку в папке плагинов vCenter по адресу:
sshAutoConnect соединяется с хостами ESXi по логину и паролю, указанному в секции <default>, но если в разделе <custom_servers> есть логин и проль для конкретного хоста - будут использованы эти данные. Пароли тут записаны в виде base64, о том, как их получать написано вот тут.
Ну и загрузить плагин sshAutoConnect вместе с исходным кодом можно с репозитория на GitHub по этой ссылке.
Кстати, забыл тут про одну вещь. Не все администраторы VMware vSphere знают, что для того, чтобы зайти в черно-серое меню сервера VMware ESXi вовсе не обязательно использовать доступ через встроенную консоль типа HP iLO. Имеется в виду вот это меню настройки сервера (аналогично DCUI - Direct Console User Interface):
Все можно сделать прямо из SSH-сессии, если вы работаете под пользователем, имеющим локальную роль Administrator. Нужно просто выполнить команду:
# dcui
И вуаля - можно настраивать сервер без всяких iLO:
Само собой, это не работает в Lockdown mode, так как оно запрещает использование всех внешних интерфейсов, за исключением VMware vCenter Server (однако непосредственно в физическую консоль администратору залогиниться в этом режиме, конечно, можно).
Некоторые из вас, возможно, в курсе, что существует такой проект Google Authenticator, который позволяет организовать двухфакторную аутентификацию через телефон (как по СМС, так и через приложение), которая позволяет не только вводить свой постоянный пароль, но и дополнительно временно генерируемый код, что существенно снижает риски несанкционированного доступа. Возможно, кто-то из вас использует это для своей почты на GMAIL:
Данный способ аутентификации очень надежен, так как злоумышленник без вашего телефона не получит доступа к сервису, поскольку он не получит временный пароль, а украв ваш телефон, он тоже не получит доступа, так как не знает постоянного пароля. Однако и этот способ не защищает от древнейшей утилиты взлома шифров и паролей - раскаленного утюга.
Компания VMware несколько доработала этот продукт, и на сайте проекта VMware Labs появился новый флинг - ESXi Google Authenticator, который позволяет организовать двухфакторную аутентификацию для доступа к консоли хост-серверов по SSH.
Для данного механизма обеспечения дополнительной безопасности поддерживаются хост-серверы ESXi 5.0 и 5.1, при этом допускается несколько администраторов одного сервера, использующих Google Authenticator (только ESXi 5.1).
Основные возможности ESXi Google Authenticator:
Поддержка двухфакторной аутентификации как для ESXi Shell, так и для доступа через SSH.
Поддержка нескольких логинов для ESXi 5.1 и одного (root) для ESXi 5.0.
Поддержка 30-секундных кодов TOTP (меняются каждые полминуты).
Поддержка кодов аварийного логина на случай, если телефон был украден (emergency scratch codes).
Защита от атак с повторением запросов.
Технически аутентификация в ESXi Google Authenticator организована средствами модуля PAM (Pluggable Authentication Module) и специального приложения, доступного для платформ Android, iOS и Blackberry.
Среди новых возможностей VMware vSphere 5.1 мы еще не упоминали о том, что теперь в подсистеме безопасности хост-серверов VMware ESXi 5.1 появились некоторые улучшения. Во-первых, учетным записям обычных пользователей (named user accounts) можно назначать полностью административные привилегии, чего раньше не было.
Это означает, что такие пользователи не нуждаются в использовании общего root-аккаунта при выполнении различных операций на хост-серверах ESXi (например, просмотр логов или выполнение команд esxtop и vmkfstools). То есть теперь не надо вополнять в консоли команду "su", а можно просто работать под своим административным аккаунтом. Раньше эта необходимость вызывала некоторые проблемы, так как важные операции, выполняемые несколькими администраторами, логировались как один аккаунт "root".
Для новых административных аккаунтов ESXi 5.1 нужно помнить, что:
Завести их можно только прямым соединением vSphere Client к хосту, а не через Web Client.
Для массового создания административных аккаунтов на хостах ESXi можно использовать функции Host Profiles.
Административные привилегии можно назначить пользователю (группе) из Active Directory. Для этого нужно создать группу администраторов серверов ESXi в AD, а потом добавить ее в расширенные настройки хоста ESXi. Для этого нужно зайти в Advanced Settings в vSphere Client, далее Config –> HostAgent и добавить нужную группу AD в параметр "Config.HostAgent.plugins.hostsvc.esxAdminsGroup":
Во-вторых, административные привилегии могут быть отобраны у встроенного аккаунта root, чтобы злоумышленник, в случае его получения, не мог им воспользоваться на хосте ESXi.
В-третьих, появилась возможность автоматически терминировать сущствующие неактивные сессии пользователей в консоли ESXi. Для настройки этого параметра нужно зайти Advanced Settings в vSphere Client, далее UserVars и выставить там следующее значение в секундах:
UserVars.ESXiShellInteractiveTimeOut
Как многие помнят, в vSphere 5 была расширенная настройка UserVars.ESXiShellTimeOut, которая задавала таймаут в секундах, по прошествии которого доступ к ESXi Shell или SSH, будучи включенным однажды - автоматически отключался:
То есть, по прошествии этого времени нельзя уже зайти на хост ESXi, и администратору не нужно заботиться об отключении сервиса. Однако все его сессии, если он их не прекратил продолжали работать, что может быть небезопасно.
Поэтому в ESXi 5.1 и появилась дополнительная настройка ESXiShellInteractiveTimeOut, которая определяет время, по истечении которого пользователь неактивной консоли (DCUI или SSH) будет автоматически разлогинен.
Пусть повисит тут эта инструкция - полезно и часто ищут. SSH на хосте VMware ESXi 5 можно включить двумя способами - через консоль сервера ESXi и через vSphere Client. Надо отметить, что в отличие от предыдущих версий ESX/ESXi, доступ по SSH к хосту ESXi 5.0 полностью поддерживается и является нормальным рабочим процессом.
1. Включение SSH на ESXi 5 через консоль.
Нажимаем <F2> в консоли:
Вводим пароль root и переходит в пункт "Troubleshooting Options":
Выбираем пункт "Enable SSH":
2. Включение SSH на ESXi 5 через vSphere Client.
Переходим на вкладку "Configuration", выбираем пункт "Security Profile" и нажимаем "Properties":
Выбираем сервис SSH и нажимаем "Options":
Устанавливаем режим запуска сервиса SSH на ESXi и включаем его кнопкой Start:
После включения SSH на ESXi 5.0 у вас появятся следующие предупреждения в vSphere Client для хоста:
SSH for the host has been enabled
Если вы включали ESXi Shell, то будет сообщение:
ESXi Shell for the Host has been enabled
Чтобы их убрать, нужно сделать так:
Выбираем нужный хост ESXi.
Переходим в категорию "Advanced Settings" в разделе "Software" на вкладке "Configuration".
Переходим в раздел UserVars > UserVars.SupressShellWarning.
Меняем значение с 0 на 1.
Нажимаем OK.
Но, вообще говоря, так делать не надо, так как SSH лучше выключать в целях безопасности на время, когда вы им не пользуетесь.
Ну и как войти по SSH на ESXi 5 пользователе root читаем тут - ничего не изменилось.
От новых пользователей VMware часто приходится слышать вопрос о том, как включить доступ по протоколу SSH к консоли сервера VMware ESXi (этот режим называется Remote Tech Support Mode). Надо сказать, что консоль сервера VMware ESXi построена на базе пакета BusyBox, который позволяет исполнять некоторый набор nix-команд, а сама консоль не является полноценной заменой Service Console в VMware ESX. Поскольку пятая версия пакета VMware vSphere будет содержать в себе только ESXi, а сам гипервизор ESX перестанет существовать, пользователям рекомендуется использовать интерфейс VMware vSphere Management Assistant для централизованного исполнения скриптов на серверах VMware ESXi.
Итак, как включается доступ по SSH к VMware ESXi. Его можно включить двумя способами:
Напрямую из консоли сервера VMware ESXi
Из VMware vSphere Client при подключении к серверу ESXi
1-й способ. Включение SSH из консоли сервера ESXi.
1 Открываем консоль сервера VMware ESXi и нажимаем клавишу <F2>.
2. Переходим в категорию Troubleshooting Options:
3. Включаем или отключаем доступ по SSH к VMware ESXi (Remote Tech Support Mode).
Обратите внимание, что есть также режим Local Tech Support Mode - это доступ к физической консоли сервера VMware ESXi напрямую для исполнения nix-комманд.
2-й способ. Включение SSH для ESXi из vSphere Client.
1. Соединяемся с хостом VMware ESXi через vSphere Client и на вкладке Configuration переходим в подкатегорию Security Profile в категории Software. Нажимаем Properties:
2. Мы видим список сервисов, включенных для VMware ESXi. Видно, что Local Tech Support и Remote Tech Support (доступ по SSH) выключены. Нажимаем кнопку Options для выбранной службы - Remote Tech Support (SSH).
3. Выбираем политику запуска службы (вручную или автоматически) и запускаем службу SSH, нажав кнопку Start.
Для управления сервером VMware ESXi по протоколу SSH нужно использовать Putty.