Доступ к консоли виртуальной машины Hyper-V с помощью RDCMan
Remote Desktop Connection Manager (RDCMan) — это официальная утилита Microsoft для удобного подключения ко множеству серверов по протоколу RDP (утилита предназначена заменить устаревшую оснастку Remote Desktops), позволяющая существенно упростить жизнь системному администратору. В RDCMan 2.7 появилась довольно интересная функция – возможность прямого подключения к консоли любой виртуальной машины, запущенной на гипервизоре Hyper-V, с помощью VMConnect. Соединение устанавливается в режиме Enhanced Session Mode, который использует для подключения шину VMBus (логический канал связи между хостом Hyper-V и виртуальными машинами).
Чтобы подключится к конкретной виртуальной машине, необходимо получить ее идентификатор (VM ID). С помощью PowerShell идентификатор конкретной ВМ можно получить так:
После того, как вы узнали идентификатор виртуальной машины, откройте RDCMan и добавьте новый сервер. В свойствах сервера проверьте, что включена опция «VM console connect». Затем в поле Server name укажите имя Hyper-V сервера, на котором запущена виртуальная машина. В поле id укажите ее идентификатор, полученный на предыдущем шаге, и сохраните настройки.
Чтобы подключиться к виртуальной машине, вам нужно указать учетную запись пользователя с правами администратора Hyper-V.
Совет. Даже если ваша учетка состоит в локальной группе администраторов, ее нужно непосредственно включить в группу Hyper-V Administrators.
Теперь вы можете подключиться к консоли виртуальной машины, запущенной на Hyper-V, точно также, как вы подключаетесь к обычному серверу Windows. Важно отметить, что виртуальная машина, к которой осуществляется подключение, может находиться во внутренней изолированной Hyper-V сети, у нее в принципе может не быть сетевого адаптера, и подключение не зависит от того, разрешен ли к ней RDP доступ или нет.
Совет. На сервере Hyper-V должен разрешен доступ к порту TCP 2179.
В том случае, если вы хотите разрешить подключаться к консоли ВМ определенному пользователю (не являющемуся администратором), необходимо предоставить ему разрешения следующим образом:
В том случае, если при подключении к ВМ появляется ошибка «Unknown disconnection reason 3848», необходимо настроить ряд разрешений. Дело в том, что политика CredSSS (Credential Security Service Provider) на хосте Hyper-V по умолчанию не позволяет аутентифицировать удаленных пользователей.
Запустите консоль PowerShell с правами администратора и выполните следующие команды:
Теперь попробуйте снова подключиться. Подключение должно успешно установится.
Таким образом, с помощью RDCMan, вы можете удаленно подключаться к консоли любой виртуальной машины, работающей на хосте Hyper-V, независимо от гостевой ОС, будь то Window, Linux, MacOs или что-то еще.
Подключение к машинам Hyper-V первого поколения по протоколу RDP
У гипервизора от Microsoft Hyper-V есть специфика деления виртуальных машин на первое и второе поколение. Одной из особенностей машин первого поколения является то, что мы можем использовать только ограниченный базовый сеанс подключения, тогда как для машин второго поколения существует расширенный сеанс с использованием технологии подключения по протоколу RDP – родного функционала Windows для удалённого доступа.
И этот расширенный сеанс позволяет использовать большие возможности. Но машину Hyper-V первого поколения при желании также можно подключить по RDP. Как это сделать?
Итак, как подключить машину первого поколения по RDP? Для этого, повторимся, необходима локальная сеть между машиной и реальным компьютером. А для этого, в свою очередь, нужно, чтобы машина была подключена к сети через виртуальный коммутатор внешнего типа. Такой будет обеспечивать и выход машины в Интернет, и локальную сеть между машиной и реальным компьютером. Если для машины в параметрах выбран коммутатор по умолчанию Default Switch, то он не подходит, и необходимо создать новый коммутатор.
Для этого открываем диспетчер коммутаторов.
Создаём новый коммутатор, его тип выбираем «Внешняя».
Даём имя коммутатору. Если на физическом компьютере несколько сетевых адаптеров, можем выбрать нужный, который будет использоваться для виртуальных машин. В целом настройки коммутатора должны быть такими, как на снимке ниже.
Далее в параметрах машины указываем созданный только что коммутатор.
Запускаем машину и первым делом настраиваем сеть. Гостевая Windows сама должна обнаружить новую сеть и предложить её настроить. Можем выбрать тип домашней сети.
Ставим её значение «Отключён».
Активируем разрешение подключаться по удалёнке с проверкой подлинности.
ipconfig
Поле пароля оставляем пустым.
Жмём «Да» в окошке проверки подлинности.
Если нужно подключить к машине устройства информации или периферию физического компьютера, при подключении отображаем параметры и настраиваем всё, что, собственно, хотим подключить.
Расширенный сеанс Hyper-V
Расширенный сеанс Hyper-V или как его еще называют английские товарищи Enhanced Session Mode. В большинстве случаев для управления виртуальными машинами мы используем средства удаленного доступа. В Windows — это RDP, Powershell, MMC и т.д., в Linux — SSH. Бывают ситуации в которых нельзя, или крайне нежелательно открывать удаленный доступ к виртуальной машине. Например сервера доступные из интернета. Виртуальные машины с другой подсетью, либо защищенные.
Причины могут быть разные. Решение почти всегда одно — подключиться с помощью Диспетчера Hyper-V. Используя прямое подключение к виртуальной машине можно, например, выключить её «жестко» по питанию. Зайти без настройки каких-либо средств удаленного администрирования на самой виртуальной машине.
Используя расширенный сеанс Hyper-V Enhanced Session Mode у нас появляется возможность взаимодействовать с виртуальной машиной по RDP. Т.е. нет необходимости настраивать консоль управления виртуальными машинами. Перечислим основные преимущества ESM.
Вообще говоря, использовать RDP протокол для подключения к виртуальной машине отличная идея. Трансляция рабочего стола значительно быстрее, чем при подключении из Hyper-V Manager. Понять что расширенный сеанс Hyper-V включен можно взглянув на значок с изображением мониторов.
Нажав на данную кнопочку можно изменить режим подключения к виртуальной машине с базового на расширенный. Если ESM не активен на сервере, давайте его включим.
Включение Enhanced Session Mode
Включить использование ESM на сервере Hyper-V можно через Powershell либо Диспетчер Hyper-V. Рассмотрим оба варианта.
Включение Enhanced Session Mode из Powershell
Данный командлет необходимо выполнить на сервере Hyper-V. После его выполнения расширенный режим Hyper-V будет включен по умолчанию.
Включение Enhanced Session Mode из Диспетчера Hyper-V
В запущенном Диспетчер Hyper-V выбираем необходимый сервер, затем Параметры Hyper-V. Находим Политика режима расширенного сеанса. Ставим галочку Разрешить режим расширенного сеанса.
Расширенный сеанс Hyper-V работает не на всех клиентах. Минимально необходимые требования Microsoft указывает такие:
Также есть возможность использовать расширенный сеанс Hyper-V на некоторых дистрибутивах Linux. Далее в статье мы рассмотрим процесс настройки ESM на ОС Ubuntu. Для работы расширенного режима при соблюдении указанных мер рекомендую установить все обновления. Только после этого можно надеяться на стабильную работу.
Подключение к виртуальной машине
Рассмотрим два варианта подключения к виртуальной машине не Hyper-V сервере. Первый вариант с использованием Диспетчер Hyper-V, второй вариант при помощи RDP.
Подключение к ВМ из Диспетчера Hyper-V
Запустим оснастку Диспетчер Hyper-V и подключимся к нужной виртуальной машине. При подключении откроется окошко с настройками разрешения экрана.
Данное окно будет открывать каждый раз при подключении если не нажать галочку Сохранить параметры для подключения к этой вирт. машине. Перейдя во вкладку Локальные ресурсы можно выбрать какие локальные устройства подключать к данной виртуальной машине.
В параметрах звука можно выбрать что именно пробрасывать на ВМ (микрофон, колонки)
В локальных устройствах и ресурсах можно выбрать проброс дисков с локальной машины, и прочих Plug&Play устройств.
Единожды выбрав настройки проброса устройств можно сохранить их и далее при открытии окна ВМ они будут подключаться автоматически. Файл с сохраненными настройками будет находиться по пути:
Для каждой ВМ настройки сохраняются в файле формата: vmconnect.rdp.
Подключение к ВМ по RDP
Настройка первоначального подключения к виртуальной машине по RDP чуть сложнее чем из диспетчера Hyper-V. Создадим файл RDP подключения и назовем его wm.rdp и добавим следующие строки
Указываете свои данные и сохраняете файл.
Узнать идентификатор ВМ можно так
Готово. Можно использовать данный файл для подключения по RDP из любого места где есть доступ к серверу.
Расширенный сеанс Hyper-V на Linux
Официально Microsoft не заявляет о поддержке расширенного сеанса на Linux. Но есть пакеты настройки позволяющие включить данный режим на некоторых ОС. Настройку буду делать на Ubuntu 20.04, работать должно и на более ранних версиях. Обязательное требование: виртуальная машина должна быть второй генерации (generation 2).
Устанавливаем виртуальную машину, в настройках ставим generation 2
При установке операционной системы необходимо выбрать Require my password to Log in. Если выбрать вход без пароля расширенный режим Hyper-V работать не будет.
После окончания установки поставьте все последние обновления на операционную систему. Приступим к установке необходимого софта. Запустим терминал и скачаем файл установки в домашнюю директорию пользователя.
Установим права на запуск для скачанного скрипта
Запустим скрипт install.sh
Повторно запустим скрипт install.sh
Если по окончанию работы скрипта у вас вылезла ошибка также как у меня
Необходимо вручную изменить настройки в файле /etc/xrdp/xrdp.ini
Меняем настройки на указанные ниже
Сохраняем и выключаем виртуальную машину. Если указанной выше ошибки нет, все равно рекомендую проверить указанные параметры.
Заходим на сервер Hyper-V и выполняем командлет
где ubuntu — название виртуальной машины на Hyper-V сервере
Включаем виртуальную машину. После подключения к ней появится окошко выбора разрешения. Верный знак что расширенный режим включен.
Раскрыв меню Показать параметры можно выбрать что подключить при входе (диск, флеш, буфер и т.п.).
При полной загрузке машины появится окно входа в систему от xrdp. Вводим свой логин и пароль. Если все настроено верно, откроется рабочий стол.
Пример настройки можно посмотреть на видео
С использованием расширенного режима Hyper-V работать с Linux намного удобнее. Полноценный буфер обмена, подключение жестких дисков, флеш и прочих устройств.
Режим расширенного сеанса в Hyper-V
Назначением VMConnect является предоставление прямого доступа к виртуальной машине из консоли Hyper-V Manager. C помощью VMConnect можно подключиться к виртуальной машине напрямую с хоста, не устанавливая сетевое соединение. Фактически подключение через VMConnect — это аналог локального входа в систему для физических компьютеров.
Примечание. Утилита VMConnect устанавливается на компьютер вместе с ролью Hyper-V. Исключение составляет вариант установки Server Core, в этом случае VMConnect недоступна.
В Windows Server 2012 и более ранних операционных системах VMConnect работает следующим образом: на экран выдается растровое изображение рабочего стола гостевой ОС, генерируемое видеокартой этой виртуальной машины. Изображение обновляется в режиме реального времени, что позволяет видеть все изменения в гостевой системе сразу как только они происходят. Кроме того, VMConnect обеспечивает эмуляцию клавиатуры и мыши на виртуальной машине, что дает нам возможность управлять гостевой системой.
Использование растрового изображения накладывает определенные ограничения на взаимодействие между основной и гостевой системами, так например можно скопировать текст в буфер обмена в основной системе и вставить его в гостевой, но нельзя подобным образом скопировать/вставить файл или изображение.
Конечно, подключение по RDP лишено подобных ограничений, но для него требуется соответствующим образом настроенное сетевое подключение к виртуальной машине, а это не всегда возможно. И вот тут нам поможет режим расширенного сеанса (Enchanced Session Mode), появившийся в Windows Server 2012 R2 и в клиентском гипервизоре в Windows 8.1. Расширенный режим позволяет устанавливать RDP-подключение к ВМ через виртуальную шину VMBus, используя установленные в гостевой системе службы удаленных рабочих столов (Remote Desktop Services, RDS).
В расширенном режиме нам доступны все возможности RDP-сессии, мы можем без ограничений пользоваться буфером обмена и пробрасывать в гостевую систему локальные ресурсы — смарт-карты, принтеры, жесткие диски, usb, аудио и прочие PnP-устройства. И что самое интересное, при этом виртуальной машине совсем необязательно подключение к сети.
Для подключения в режиме расширенного сеанса необходимо:
• Гостевая ОС, поддерживающая RDP over VMBus. На сегодняшний день это только Windows 8.1 и Windows Server 2012 R2;
• В гостевой системе должна быть поддержка Remote Desktop Services. Это сокращает список гостевых ОС до Windows Server 2012 R2 и Windows 8.1 Pro и Enterprise;
• Должен быть завершен этап первоначальной настройки (Out Of Box Experience, OOBE). На этапе установки и настройки ОС подключение в расширенном режиме невозможно.
Настройка режима расширенного сеанса
Для активации Enchanced Session Mode на хосте надо в настройках Hyper-V пройтись по следующим двум пунктам:
Enchanced Session Mode Policy (Политика режима расширенного сеанса) в разделе Server. Отметив чекбокс, мы разрешим подключение в режиме расширенного сеанса к виртуальным машинам на данном сервере. В серверном Hyper-V этот пункт по умолчению не включен.
Enchanced Session Mode (Режим расширенного сеанса) в разделе User. Здесь мы указываем программе VMConnect использовать режим расширенного сеанса при подключении к ВМ, в том случае если этот режим поддерживается гостевой ОС.
После активации расширенного режима при подключении к виртуальной машине будет выведено окно с настройками.
На вкладке «Display» мы можем указать желаемое разрешение удаленного рабочего стола, а также использование нескольких мониторов (при их наличии).
Перейдя на вкладку «Local Resources», можно указать, какие локальные устройства\ресурсы могут быть доступны в удаленной системе. Мы можем передать в виртуальную машину принтеры, буфер обмена
а также смарт-карты, локальные диски (в том числе и съемные) и прочие Plug and Play устройства.
Кроме того, можно настроить некоторые аудио параметры.
Произведенные настройки можно сохранить для последующих подключений, отметив соответствующий чекбокс. Настройки сохраняются в папке %appdata%\Microsoft\Windows\Hyper-V\Client\1.0. Для каждой виртуальной машины создается файл конфигурации вида vmconnect.rdp.
И в завершение некоторые нюансы, которые нужно знать при использовании режима расширенного сеанса:
• Виртуальной машине не нужно сетевое подключение, она может быть вообще не подключена к виртуальному коммутатору;
• Разрешение на подключение по RDP не обязательно. Подключение возможно даже в том случае, если у вас стоит настройка «Don’t allow remote connections to this computer»;
• Пользователь, под которым производится подключение, должен входить в локальную группу администраторов или пользователей удаленного рабочего стола (Remote Desktop Users) в гостевой ОС;
• Клиентские лицензии на терминальное подключение (CALs) также не нужны, количество подключений в расширенном режиме не ограничено;
• Подключение в расширенном режиме возможно к виртуальным машинам как первого, так и второго поколения.
Подключение к виртуальной машине с помощью Remote Desktop Connection Manager
Remote Desktop Connection Manager (RDCMan) — утилита от Microsoft для подключения к серверам по RDP (пришедшая на замену оснастке Remote Desktops). Версия RDCMan 2.7 имеет одну интересную особенность, а именно — с ее помощью можно подключаться напрямую к консоли виртуальной машины Hyper-V, используя для этого VMConnect.
Чтобы подключиться к виртуальной машине, первым делом необходимо узнать ее ID. Сделать это можно с помощью PowerShell, например:
Узнав ID, открываем RDCMan и в окне добавления сервера отмечаем галочкой пункт «VM console connect». Затем в поле Server name вводим имя сервера Hyper-V, на котором находится ВМ, в поле id указываем ее идентификатор, полученный на предыдущем шаге и сохраняем настройки.
Теперь к виртуальной машине можно подключаться как к обычному серверу.
Плюс подключения к консоли в том, что ВМ может находиться во внутренней приватной сети не иметь выхода наружу, у нее может быть отключен доступ по RDP, она может вообще не иметь сетевого адаптера — вы все равно сможете к ней подключиться.
Похожие материалы:
Возможно у меня что-то отключено, но сделав всё в точности получаю ошибку «Unkknown disconnection reason 3848»
Это вроде как проблема с CredSSP. Вот здесь описано, как исправить.
Что бы её «починить», необходимо сделать следующее:
Запустить на своём компьютере (там, откуда запускаете RDCMan) от имени администратора PowerShell и ввести следующие строки добавляющие некоторые значения в реестр (HostRD — мой хост с виртуалками):
После этого, на своём компьютере, добавить свою учётную запись в группу Администраторы Hyper-V.



















































