Как удаленно подключиться к виртуальной машине virtualbox
Системный интегратор
Удаленный рабочий стол виртуальной машины Oracle VM VirtualBox
Рабочие столы виртуальных машин VirtualBox могут отображаться как в Хост системе c графическим интерфейсом, так и на удаленных терминалах. VirtualBox поддерживает VRDP протокол (RDP совместимый).
В качестве терминала для виртуальной машины может быть использован любой RDP клиент в любой операционной системе. Не важно, поддерживает ли виртуальная машина удаленный доступ или нет, в качестве терминал сервера виртуальной машины выступает менеджер Oracle VM VirtualBox. Виртуальная машина с поддержкой удаленного рабочего стола RDP может быть запущена как в Хост системе с графическим интерфейсом, так и из командной строки (VBoxHeadless) Хоста без графического интерфейса.
В инструкции пользователя Oracle VM VirtualBox ® по теме VirtualBox Remote Display читайте главу 7 Remote virtual machines.
В настройках клиента удаленного рабочего стола указывайте IP адрес Хост системы виртуальных машин VirtualBox и RDP порт выбранной Вами виртуальной машины. Если Вы подключаетесь к виртуальной машине с графическим интерфейсом рабочего стола и в ней установлены драйверы дисплея Guest Additions VirtualBox, то размеры рабочего стола виртуальной машины смогут устанавливаться в размер указанный в настройках RDP клиента.
Удаленный рабочий стол виртуальной машины с OS Zentual Server в клиенте удаленного рабочего стола Remina.
Возможности VirtualBox VRDP : Удаленный терминал рабочего стола виртуальной машины может предоставить виртуальной машине удаленный доступ к USB портам терминала. Для Linux терминалов Oracle VirtualBox предлагается использовать RDesktop-VRDP клиент с поддержкой этой технологии.
Запускайте RDesktop-VRDP следующей командой:
Где 192.168.1.5 IP адрес Хоста виртуальных машин
Как подключиться к виртуальной машине VirtualBox по SSH
После установки серверного дистрибутива Linux на виртуальную машину VirtualBox вы можете обнаружить, что подключение по SSH не работает. Это связано с тем, что по умолчанию на VirtualBox используется подключение к интернету с помощью NAT.
При таком способе подключения у вас нет возможности подключаться к виртуальной машине из своей реальной операционной системы. В частности, вы не сможете подключиться по SSH.
В данной статье мы рассмотрим сразу два способа, как можно решить эту проблему. Первый вариант – проброс портов через NAT, а второй – использование сетевого моста. Оба этих способа сохраняют доступ к интернету на виртуальной машине.
Проброс портов для SSH
Для проброса портов вам нужно знать IP адрес, который присваивается виртуальной машине. Для этого запустите виртуальную машину и выполните на ней команду « ifconfig ». В ответ вы получите информацию о сетевых подключениях, в которой будет указан и IP адрес. В нашем случае был получен IP адрес – « 10.0.2.15 ».
Обратите внимание, если в вашей системе нет команды « ifconfig », то ее нужно будет установить отдельно. В случае Debian и Ubuntu Linux это можно сделать с помощью команды « apt-get install net-tools ».
После того как мы узнали IP адрес виртуальную машину нужно выключить и открыть ее настройки в программе VirtualBox.
В настройках виртуальной машины нужно открыть раздел « Сеть », открыть дополнительные настройки и перейти к пробросу портов.
После этого откроется окно для проброса портов. Здесь нужно нажать на кнопку « Добавить » и заполнить следующие данные:
После проброса порта закрываем все окна с помощью кнопки « ОК ».
После этого можно подключаться к виртуальной машине по SSH. Для этого можно использовать клиент OpenSSH, который доступен в Windows 10. Поскольку порт « 2222 » на основной системе был проброшен на порт « 22 » на виртуальной машине, то для подключения по SSH нам нужно выполнить следующую команду:
Где « user » — это имя пользователя, а « 2222 » — используемый порт на основной системе.
Как видно по скриншоту вверху, данный способ отлично работает, и мы успешно подключились по SSH к виртуальной машине VirtualBox.
Подключение через сетевой мост
Также есть альтернативный способ подключения к виртуальной машине по SSH для этого нужно изменить тип подключения с « NAT » на « Сетевой мост ». В этом случае виртуальная машина будет подключена к вашей локальной сети и получит IP адрес от вашего роутера из того же диапазона, что и ваша основная система.
Для этого нужно выключить виртуальную машину и зайти в ее свойства в программе VirtualBox. В настройках нужно зайти в раздел « Сеть » и включить тип подключения « Сетевой мост ».
После этого нужно запустить виртуальную машину и выполнить на ней команду « ifconfig » для того, чтобы узнать, какой IP адрес она получила от роутера. В нашем случае был получен IP адрес « 192.168.1.214 ».
После этого к виртуальной машине можно подключаться по SSH. Для этого нужно просто использовать IP адрес, который был ей присвоен роутером. Например, для того чтобы подключиться с помощью клиента OpenSSH нужно выполнить следующую команду:
Где « user » — это имя пользователя, а « 192.168.1.214 » — это ее IP адрес.
Аналогично работает и подключение с помощью PuTTY. Вводим « 192.168.1.214 » и подключаемся по стандартному порту « 22 ».
Как и предыдущий способ, вариант с использованием сетевого моста отлично работает, при этом виртуальная машина не теряет доступа к интернету.
Создатель сайта comp-security.net, автор более 2000 статей о ремонте компьютеров, работе с программами, настройке операционных систем.
Задайте вопрос в комментариях под статьей или на странице «Задать вопрос» и вы обязательно получите ответ.
vinadm.blogspot.com
2.11.16
Как подлкючиться к виртуальной машине VirtualBOX по RDP
Включаем удаленный доступ на виртуальной машине.
Открываем VirtualBox
Выбираем виртуальную машину и нажимаем настроить.
Выбираем раздел Дисплей > Удаленный доступ.
Ставим чекбокс включить сервер удаленного доступа.
Порт сервера: 3389
Метод аутентификации: Нет авторизации
Время ожидания аутентификации: 5000 мс
Нажимаем ОК
Включаем Сетевой Мост в настройках сетевого адаптера
Открываем VirtualBox.
Выбираем виртуальную машину и нажимаем настроить.
Открываем раздел Сеть.
Ставим чекбокс включить сетевой адаптер.
Тип подключения выбираем: Сетевой мост.
Нажимаем ОК
Включаем виртуальную машину.
Смотрим ip адрес виртуальной машины
win+R>cmd>ipconfig
Как удаленно подключиться к виртуальной машине virtualbox
VirtualBox позволяет работать с удаленными виртуальными машинами, т.е. если виртуальная машина будет работать на одной машине, а управляться со второго компьютера, также как если бы она работала на этом втором компьютере.
Для максимальной гибкости, начиная с VirtualBox 4.0, в VirtualBox удаленный дисплей машины представлен посредством в виде интерфейса расширения под названием VirtualBox Remote Desktop Extension (VRDE). Базовый свободный пакет VirtualBox поставляется только с этим интерфейсом, а работа с ним может осуществляться через пакеты расширения сторонних разработчиков, которые могут устанавливаться отдельно от базового пакета. См. раздел “Установка VirtualBox и модулей расширений”.
Oracle предоставляет поддержку VirtualBox Remote Display Protocol (VRDP) в пакете расширения VirtualBox. При установке этого пакета, VirtualBox версии 4.0 и выше предоставляет работу VRDP в виде бинарной версии как (не свободной) и до версии VirtualBox 4.0.
VRDP является обратно совместимым расширением Microsoft Remote Desktop Protocol (RDP). Обычно с удаленной машины посылается обновление графического вывода и звука клиенту, а события клавиатуры и мыши посылаются серверу. В результате вы можете использовать стандартных клиентов RDP для управления удаленными ВМ.
По умолчанию VRDP отключен, даже если установлен пакет расширений. Его можно просто включить в диалоговом окне настроек ВМ на вкладке «Дисплей» (см. раздел “Настройки дисплея”) или с помощью VBoxManage :
Если вы используете VBoxHeadless (описывается ниже), VRDP поддержка будет автоматически включена, т.к. VBoxHeadless не имеет других способов работы с ним.
RDP клиенты сторонних разработчиков
Поскольку VRDP обратно совместим с RDP, то вы можете использовать любо RDP клиент для подключения к удаленной виртуальной машине (пример следует ниже). Для этого вы должны указать IP адрес вашей хост системы (не виртуальной машины!) в качестве сервера, а также номер порта который использует RDP сервер.
Фактический номер порта используемый в работающей ВМ может быть получен командой VBoxManage showvminfo или в графическом интерфейсе на вкладке «Детали» в диалоговом окне «Информация о сессии», которое открывается через меню «Машина» окна ВМ.
Здесь приведены примеры использования наиболее популярных RDP клиентов:
Замените «1.2.3.4» IP адресом хоста и число 3389 номером порта, если вы используете другой.
Замечание
Для rdesktop, используйте командную строку, так как указано ниже:
Еще раз напомним, замените «1.2.3.4» IP адресом хоста и 3389 номером порта, если вы используете другой. Элемент «rdp:/» требуется для переключения krdc в режим использования RDP.
VBoxHeadless, сервер удаленного рабочего стола
Вы можете использовать командную строку
Вы можете использовать VBoxHeadless напрямую:
Для использования VRDP сервером настроек из конфигурации ВМ используйте команду:
Шаг за шагом: создание виртуальной машины на автономном сервере (headless server)
Установленный VirtualBox на хост сервере с поддерживаемой операционной системой. Пакет расширений VirtualBox должен быть установлен на VRDP сервере (см. предыдущий раздел). В нашем примере, мы будем рассматривать Linux сервер.
Файл ISO на сервере с программой установки гостевой ОС (мы будем использовать Windows XP в данном примере);
терминальное соединение с хостом, что бы иметь доступ к командной строке (посредством ssh );
Клиент RDP на удаленном рабочем компьютере; см. Раздел “RDP клиенты сторонних разработчикоав”.
Заметем еще раз, что компьютер, который мы используем является автономным сервером и на нем нам не нужны ни Qt, ни SDL, ни X Window система.
На автономном сервере создаем новую виртуальную машину:
Установим необходимые настройки ВМ, требующиеся устанавливаемой гостевой ОС. Например:
Создаем виртуальный жесткий диск для ВМ (в данном случае, размером 10GB):
Добавим IDE Controller к новой ВМ:
Установим созданный ранее VDI файл первым виртуальным жестким диском для новой ВМ:
Подключим ISO файл с загрузочным образом диска установки ОС, которую мы хотим установить позже в виртуальной машине:
Запустите виртуальную машину используя VBoxHeadless:
Если все пройдет успешно, вы увидите сообщение об авторских правах. Иначе вы вернетесь в командную строку, если что то пойдет не так.
Вы должны увидеть процедуру установки вашей гостевой ОС в окне клиента RDP.
Удаленные USB
Что бы сделать удаленные USB устройства доступными в ВМ, rdesktop-vrdp необходимо запустить так как указано ниже:
RDP аутентификация
Метод «null/ Нет авторизации» означает отсутствие какой либо аутентификации; любой клиент может подключиться к VRDP серверу, а следовательно к виртуальной машине. Это конечно, не безопасно и он рекомендуется только для частных/ локальных сетей.
Метод «external/ Внешняя» предусматривает внешнюю аутентификацию посредством специальной библиотеки аутентификации. По умолчанию VirtualBox поставляется с двумя такими библиотеками:
На хостах Linux, VBoxAuth.so аутентификация пользователей происходит посредством системы PAM на хосте.
На хостах Windows, VBoxAuth.dll аутентификация происходит с помощью системы WinLogon хоста.
На Mac OS X, VBoxAuth.dylib использует directory service хоста. [33]
Другими словами, метод «external» позволяет производить аутентификацию пользователей посредством существующего механизма аутентификации на хост системе по умолчанию. Доступ разрешается любому пользователю прошедшему аутентификацию, т.е. имя пользователя не обязательно должно соответствовать пользователю запустившего ВМ.
Дополнительная библиотека VBoxAuthSimple выполняет аутентификацию через указанный настройки в разделе «extradata» XML файла настоек виртуальной машины. Это наиболее простой механизм аутентификации, который не зависит от гостевой системы (см. ниже). Требуются выполнить следующие шаги:
Включить VBoxAuthSimple командой:
Для включения библиотеки в нужной ВМ, вы должны переключить аутентификацию на внешнюю:
Замените именем ВМ или UUID.
Вы должны настроить пользователей и пароли, путем записи элементов в extradata виртуальных машин. Так как в разделе «extradata» в файле настроек XML пароль хранится в виде текста, то VirtualBox использует hashes для шифрования паролей. Необходимо использовать следующую команду:
Замените именем ВМ или ее UUID, именем пользователя которому будет разрешен вход и зашифрованным паролем. Например, для получения зашифрованного значения для пароля «secret», вы можете использовать команду:
Будет выведено значение
Теперь вы можете использовать команду VBoxManage setextradata для сохранения этого значения в «extradata» виртуальной машины.
В примере ниже, устанавливается пароль «secret» для пользователя «john» в виртуальной машине «My VM» :
Наконец, метод аутентификации «guest/гостевой» выполняет проверку с помощью специальной компоненты поставляемой с гостевыми дополнениями; поэтому, аутентификация не выполняется на хосте, а используется с помощью гостевых пользовательских акаунтов.
Этот метод в настоящее время все еще тестируется и официально не поддерживается.
В добавок к методам описанным выше, вы можете заменить модуль по умолчанию в методе «external» любым другим модулем. Для этого, VirtualBox предоставляет интерфейс который позволяет написать вам собственный аутентификационный модуль. Детали вы можете получить VirtualBox Software Development Kit (SDK); см. Глава 11, Программный интерфейс VirtualBox.
RDP шифрование
Передаваемые данные RDP протокола шифруются алгоритмом на базе RC4 симетричного шифра (длинна ключа до 128bit). Ключ RC4 обновляется с регулярным интервалом (каждые 4096 пакетов).
RDP обеспечивает различных методы аутентификации:
Ранее, использовалась RDP4 аутентификация, при которой RDP клиент не выполняет никаких проверок безопасности при подключения к серверу. Данный протокол уязвим к атакам вида «человек в середине» (man in the middleб MITM), т.е. RDP4 аутентификация не безопасно и не должна использоваться.
При аутентификации через RDP5.1 используется сертификат сервера и открытый публичный ключ у клиента. В данном случае подтверждается подлинность сервера соответствующим закрытым ключом. Однако, поскольку этот устойчивый к взлому открытый ключ стал доступен всем несколько лет назад, то и RDP5.1 аутентификация также считается не безопасной.
Аутентификация RDP5.2 использует Enhanced RDP Security, это означает, что для безопасного соединения используется внешний протокол безопасности. RDP4 и RDP5.1 используют Standard RDP Security. VRDP сервер поддерживает Enhanced RDP Security и использует для передачи серверного сертификата протокол TLS.
Свойство Security/Method VRDE используется для задания метода безопасности соединений. Допустимые значения:
В следующем примере разрешается использование соединений Standard и Enhanced RDP Security:
Сервер должен быть настроен для доступа к нужным файлам:
Мультисессионные соединения с VRDP
Сервер RDP VirtualBox позволяет производить одновременное подключение нескольких различных клиентов к одной и той же работающей ВМ. Все подключенные клиенты используют один и тот же экран, используют одну мышь и клавиатурный фокус ввода. Это похоже на то, как если бы несколько людей работали за одним компьютером в одно и то же время, поочередно печатая на клавиатуре.
Следующая команда включает режим множественных соединений:
Множественные удаленные мониторы
Для получения доступа к двум и более удаленным дисплеям ВМ вы должны включить мультисессионный режим VRDP (см. раздел “Multiple connections to the VRDP server”).
Перенаправление видео VRDP
Начиная с версии VirtualBox 3.2, VRDP сервер может перенаправлять видео поток из гостевой системы клиенту RDP. Видео (Video frames) сжимается с помощью алгоритма JPEG, который обеспечивает более высокую степень сжатия, чем стандартный метод RDP (bitmap compression methods). Это приводит к увеличению степени сжатия и уменьшению качества видео.
VRDP сервер автоматически определяет поток видео в госте по частоте обновлений прямоугольных областей. Поэтому, данный метод работает в любой гостевой ОС, без использования дополнительных программных средств в госте; в частности установка гостевых дополнений не требуется.
Следующая команда включает перенаправление видео :
Качество видео потока задается значением от 10 до 100 в процентах, представляя уровень JPEG сжатия (малые значения означают более низкое качество, но более высокую степень сжатия). Качество может быть задано командой:
VRDP настройки
В VirtualBox 4.0 можно для VRDP сервера отдельно отключить вывод на дисплей, ввод клавиатуры, мыши, звука, удаленных устройств USB или буфера обмена.
Следующая команда изменяет соответствующие настройки сервера:
Для повторного включения этих функций используется те же команды без конечной цифры 1. Например:
Эти свойства появились в VirtualBox 3.2.10. Однако, в версиях 3.2.x, нужно было использовать следующие команды:
Для повторного включения этих функций используется те же команды без конечной цифры 1. Например:
Телепортация
Миграция производится через сеть TCP/IP; для источника и цели необходимо только назначить согласовать порты TCP/IP, которые указываются в настройках миграции.
В настоящее время, имеется несколько требования для реализации миграции:
На целевом хосте, вы должны настроить виртуальную машину с точно такими же виртуальными аппаратными составляющими как и на источнике. Это не относится к описательным настройкам, таким как наименование ВМ, но очевидно что для работы миграции целевая машина должна иметь такой же размер памяти. В противном случае миграция завершится с ошибкой.
Обе виртуальных машины должны иметь общую систему хранения данных (использовать один и тот же жесткий диск, дисковод и/или образ CD/DVD). Это значит, что они обе должны использовать один iSCSI targets или хранилище виртуальных носителей должны находиться в сети и они обе должны иметь доступ к нему через NFS или SMB/CIFS.
Это означает также, что виртуальная машина источник и машина цель не должны иметь снимков состояний.
Далее выполняются следующие шаги:
На целевом хосте, виртуальная машина настраивается на ожидание запроса миграции. Это выполняется командой VBoxManage :
где это имя виртуалбной машины на целевом хосте, а
это номер порта TCP/IP используемый обоими хостами. Например, используете 6000. Детали в разделе “Teleporting settings”.
Запустите ВМ на целевом хосте. Вы увидите, что вместо обычного запуска будет показан диалоговое окно выполнения процесса, указывающее что выполняется ожидание поступления запроса миграции.
где имя виртуальной машины источника (машина которая в настоящее время работает), имя хоста или IP адрес целевого хоста на котором машина ожидает запроса миграции, а
должен иметь тот же номер, что и указанный в команде выше для целевого хоста. Детали в разделе “VBoxManage controlvm”.
Для тестирования, вы можете также выполнять миграцию на одном хосте; в данном случае, в качестве имени хоста укажите «localhost» для хоста источника и целевого хоста.
Замечание
[33] Поддержка для Mac OS X была добавлена в версии 3.2.
Как удаленно подключиться к виртуальной машине virtualbox
Oracle VM VirtualBox can display virtual machines remotely, meaning that a virtual machine can execute on one computer even though the machine will be displayed on a second computer, and the machine will be controlled from there as well, as if the virtual machine was running on that second computer.
For maximum flexibility, Oracle VM VirtualBox implements remote machine display through a generic extension interface called the VirtualBox Remote Desktop Extension (VRDE). The base open source Oracle VM VirtualBox package only provides this interface, while implementations can be supplied by third parties with Oracle VM VirtualBox extension packages, which must be installed separately from the base package. See Section 1.5, “Installing Oracle VM VirtualBox and Extension Packs”.
Oracle provides support for the VirtualBox Remote Display Protocol (VRDP) in such an Oracle VM VirtualBox extension package.
VRDP is a backwards-compatible extension to Microsoft’s Remote Desktop Protocol (RDP). As a result, you can use any standard RDP client to control the remote VM.
Even when the extension is installed, the VRDP server is disabled by default. It can easily be enabled on a per-VM basis either in the VirtualBox Manager in the Display settings, see Section 3.6, “Display Settings”, or with the VBoxManage command, as follows:
The actual port used by a running VM can be either queried with the VBoxManage showvminfo command or seen in the GUI on the Runtime tab of the Session Information dialog, which is accessible from the Machine menu of the VM window.
Oracle VM VirtualBox supports IPv6. If the host OS supports IPv6 the VRDP server will automatically listen for IPv6 connections in addition to IPv4.
7.1.1. Common Third-Party RDP Viewers
Since VRDP is backwards-compatible to RDP, you can use any standard RDP viewer to connect to such a remote virtual machine. For this to work, you must specify the IP address of your host system, not of the virtual machine, as the server address to connect to. You must also specify the port number that the VRDP server is using.
The following examples are for the most common RDP viewers:
Replace 1.2.3.4 with the host IP address, and 3389 with a different port, if necessary.
IPv6 addresses must be enclosed in square brackets to specify a port. For example: mstsc [fe80::1:2:3:4]:3389
On other systems, you can use the standard open source rdesktop program. This ships with most Linux distributions, but Oracle VM VirtualBox also comes with a modified variant of rdesktop for remote USB support. See Section 7.1.4, “Remote USB”.
You can use the Remmina remote desktop client with VRDP. This application is included with some Linux distributions, such as Debian and Ubuntu.
Replace 1.2.3.4 with the host IP address, and 3389 with a different port, if necessary. The rdp:// prefix is required with krdc to switch it into RDP mode.
7.1.2. VBoxHeadless, the Remote Desktop Server
While any VM started from the VirtualBox Manager is capable of running virtual machines remotely, it is not convenient to have to run the full GUI if you never want to have VMs displayed locally in the first place. In particular, if you are running server hardware whose only purpose is to host VMs, and all your VMs are supposed to run remotely over VRDP, then it is pointless to have a graphical user interface on the server at all. This is especially true for Linux or Oracle Solaris hosts, as the VirtualBox Manager comes with dependencies on the Qt and SDL libraries. This is inconvenient if you would rather not have the X Window system on your server at all.
Use the VBoxManage command, as follows:
Use the VBoxHeadless command, as follows:
Start VBoxHeadless from the VirtualBox Manager GUI, by pressing the Shift key when starting a virtual machine or by selecting Headless Start from the Machine menu.
To disable the VRDP server:
To have the VRDP server enabled depending on the VM configuration, as for other front-ends:
This command is the same as the following:
If you start the VM with VBoxManage startvm then the configuration settings of the VM are always used.
7.1.3. Step by Step: Creating a Virtual Machine on a Headless Server
The following instructions describe how to create a virtual machine on a headless server over a network connection. This example creates a virtual machine, establishes an RDP connection and installs a guest operating system. All of these tasks are done without having to touch the headless server. You need the following prerequisites:
Oracle VM VirtualBox on a server machine with a supported host operating system. The Oracle VM VirtualBox Extension Pack for the VRDP server must be installed, see Section 7.1, “Remote Display (VRDP Support)”. The procedures assume a Linux server is used.
An ISO file accessible from the server, containing the installation data for the guest operating system to install. Windows XP is used in the example.
An RDP viewer on the remote client. See Section 7.1.1, “Common Third-Party RDP Viewers” for examples.
Note that on the server machine, since we will only use the headless server, Qt and the X Window system are not required.
On the headless server, create a new virtual machine. For example:
Make sure the settings for the VM are appropriate for the guest operating system that we will install. For example:
Create a virtual hard disk for the VM. For example, to create a 10 GB virtual hard disk:
Add an IDE Controller to the new VM. For example:
Set the VDI file you created as the first virtual hard disk of the new VM. For example:
Attach the ISO file that contains the operating system installation that you want to install later to the virtual machine. This is done so that the VM can boot from it.
Enable the VirtualBox Remote Desktop Extension, the VRDP server, as follows:
Start the virtual machine using the VBoxHeadless command:
If the configuration steps worked, you should see a copyright notice. If you are returned to the command line, then something did not work correctly.
On the client machine, start the RDP viewer and connect to the server. See Section 7.1.1, “Common Third-Party RDP Viewers” for details of how to use various common RDP viewers.
The installation routine of your guest operating system should be displayed in the RDP viewer.
7.1.4. Remote USB
As a special feature additional to the VRDP support, Oracle VM VirtualBox also supports remote USB devices over the wire. That is, an Oracle VM VirtualBox guest that runs on one computer can access the USB devices of the remote computer on which the VRDP data is being displayed the same way as USB devices that are connected to the actual host. This enables running of virtual machines on an Oracle VM VirtualBox host that acts as a server, where a client can connect from elsewhere that needs only a network adapter and a display capable of running an RDP viewer. When USB devices are plugged into the client, the remote Oracle VM VirtualBox server can access them.
For these remote USB devices, the same filter rules apply as for other USB devices. See Section 3.11.1, “USB Settings”. All you have to do is specify Remote, or Any, when setting up these rules.
To make a remote USB device available to a VM, rdesktop-vrdp should be started as follows:
See Section 12.7.5, “USB Not Working” for further details on how to properly set up the permissions for USB devices. Furthermore it is advisable to disable automatic loading of any host driver on the remote host which might work on USB devices to ensure that the devices are accessible by the RDP client. If the setup was properly done on the remote host, plug and unplug events are visible in the VBox.log file of the VM.
7.1.5. RDP Authentication
The null method means that there is no authentication at all. Any client can connect to the VRDP server and thus the virtual machine. This is very insecure and only to be recommended for private networks.
The external method provides external authentication through a special authentication library. Oracle VM VirtualBox ships with two special authentication libraries:
On Linux hosts, VBoxAuth.so authenticates users against the host’s PAM system.
On Windows hosts, VBoxAuth.dll authenticates users against the host’s WinLogon system.
On Mac OS X hosts, VBoxAuth.dylib authenticates users against the host’s directory service.
In other words, the external method by default performs authentication with the user accounts that exist on the host system. Any user with valid authentication credentials is accepted. For example, the username does not have to correspond to the user running the VM.
An additional library called VBoxAuthSimple performs authentication against credentials configured in the extradata section of a virtual machine’s XML settings file. This is probably the simplest way to get authentication that does not depend on a running and supported guest. The following steps are required:
Enable VBoxAuthSimple with the following command:
To enable the library for a particular VM, you must switch authentication to external, as follows:
Replace VM-name with the VM name or UUID.
You then need to configure users and passwords by writing items into the machine’s extradata. Since the XML machine settings file, into whose extradata section the password needs to be written, is a plain text file, Oracle VM VirtualBox uses hashes to encrypt passwords. The following command must be used:
Replace VM-name with the VM name or UUID, user with the user name who should be allowed to log in and hash with the encrypted password. The following command example obtains the hash value for the password secret :
You then use VBoxManage setextradata to store this value in the machine’s extradata section.
The guest authentication method performs authentication with a special component that comes with the Guest Additions. As a result, authentication is not performed on the host, but with the guest user accounts.
This method is currently still in testing and not yet supported.
In addition to the methods described above, you can replace the default external authentication module with any other module. For this, Oracle VM VirtualBox provides a well-defined interface that enables you to write your own authentication module. This is described in detail in the Oracle VM VirtualBox Software Development Kit (SDK) reference. See Chapter 11, Oracle VM VirtualBox Programming Interfaces.
7.1.6. RDP Encryption
RDP features data stream encryption, which is based on the RC4 symmetric cipher, with keys up to 128-bit. The RC4 keys are replaced at regular intervals, every 4096 packets.
RDP provides the following different authentication methods:
RDP 4 authentication was used historically. With RDP 4, the RDP client does not perform any checks in order to verify the identity of the server it connects to. Since user credentials can be obtained using a man in the middle (MITM) attack, RDP4 authentication is insecure and should generally not be used.
RDP 5.1 authentication employs a server certificate for which the client possesses the public key. This way it is guaranteed that the server possess the corresponding private key. However, as this hard-coded private key became public some years ago, RDP 5.1 authentication is also insecure.
RDP 5.2 or later authentication uses Enhanced RDP Security, which means that an external security protocol is used to secure the connection. RDP 4 and RDP 5.1 use Standard RDP Security. The VRDP server supports Enhanced RDP Security with TLS protocol and, as a part of the TLS handshake, sends the server certificate to the client.
The Security/Method VRDE property sets the desired security method, which is used for a connection. Valid values are as follows:
Negotiate. Both Enhanced (TLS) and Standard RDP Security connections are allowed. The security method is negotiated with the client. This is the default setting.
RDP. Only Standard RDP Security is accepted.
TLS. Only Enhanced RDP Security is accepted. The client must support TLS.
The version of OpenSSL used by Oracle VM VirtualBox supports TLS versions 1.0, 1.1, 1.2, and 1.3.
For example, the following command enables a client to use either Standard or Enhanced RDP Security connection:
If the Security/Method property is set to either Negotiate or TLS, the TLS protocol will be automatically used by the server, if the client supports TLS. However, in order to use TLS the server must possess the Server Certificate, the Server Private Key and the Certificate Authority (CA) Certificate. The following example shows how to generate a server certificate.
Create a CA self signed certificate.
Generate a server private key and a request for signing.
Generate the server certificate.
The server must be configured to access the required files. For example:
7.1.7. Multiple Connections to the VRDP Server
The VRDP server of Oracle VM VirtualBox supports multiple simultaneous connections to the same running VM from different clients. All connected clients see the same screen output and share a mouse pointer and keyboard focus. This is similar to several people using the same computer at the same time, taking turns at the keyboard.
The following command enables multiple connection mode:
7.1.8. Multiple Remote Monitors
To access two or more remote VM displays you have to enable the VRDP multiconnection mode. See Section 7.1.7, “Multiple Connections to the VRDP Server”.
7.1.9. VRDP Video Redirection
The VRDP server can redirect video streams from the guest to the RDP client. Video frames are compressed using the JPEG algorithm allowing a higher compression ratio than standard RDP bitmap compression methods. It is possible to increase the compression ratio by lowering the video quality.
The VRDP server automatically detects video streams in a guest as frequently updated rectangular areas. As a result, this method works with any guest operating system without having to install additional software in the guest. In particular, the Guest Additions are not required.
On the client side, however, currently only the Windows 7 Remote Desktop Connection client supports this feature. If a client does not support video redirection, the VRDP server falls back to regular bitmap updates.
The following command enables video redirection:
The quality of the video is defined as a value from 10 to 100 percent, representing a JPEG compression level, where lower numbers mean lower quality but higher compression. The quality can be changed using the following command:
7.1.10. VRDP Customization
You can disable display output, mouse and keyboard input, audio, remote USB, or clipboard individually in the VRDP server.
The following commands change the corresponding server settings:
To reenable a feature, use a similar command without the trailing 1. For example:
7.2. Teleporting
Teleporting happens over any TCP/IP network. The source and the target only need to agree on a TCP/IP port which is specified in the teleporting settings.
At this time, there are a few prerequisites for this to work, as follows:
On the target host, you must configure a virtual machine in Oracle VM VirtualBox with exactly the same hardware settings as the machine on the source that you want to teleport. This does not apply to settings which are merely descriptive, such as the VM name, but obviously for teleporting to work, the target machine must have the same amount of memory and other hardware settings. Otherwise teleporting will fail with an error message.
The two virtual machines on the source and the target must share the same storage, hard disks as well as floppy disks and CD/DVD images. This means that they either use the same iSCSI targets or that the storage resides somewhere on the network and both hosts have access to it using NFS or SMB/CIFS.
This also means that neither the source nor the target machine can have any snapshots.
To configure teleporting, perform the following steps:
On the target host, configure the virtual machine to wait for a teleport request to arrive when it is started, instead of actually attempting to start the machine. This is done with the following VBoxManage command:
targetvmname is the name of the virtual machine on the target host and port is a TCP/IP port number to be used on both the source and the target hosts. For example, use 6000. See Section 8.8, “VBoxManage modifyvm”.
Start the VM on the target host. Instead of running, the VM shows a progress dialog, indicating that it is waiting for a teleport request to arrive.
Start the VM on the source host as usual. When it is running and you want it to be teleported, issue the following command on the source host:
where sourcevmname is the name of the virtual machine on the source host, which is the machine that is currently running. targethost is the host or IP name of the target host on which the machine is waiting for the teleport request, and port must be the same number as specified in the command on the target host. See Section 8.13, “VBoxManage controlvm”.
For testing, you can also teleport machines on the same host. In that case, use localhost as the hostname on both the source and the target host.