RDP в VirtualBox на Windows

13

У моего коллеги старый Mac, и он должен что-то протестировать в Windows. Его Mac не достаточно мощный, чтобы запустить ВМ, поэтому ему нужны те, которые есть у меня. У меня есть несколько виртуальных машин, которые соответствуют его потребностям.
Решение, которое я придумал, состояло в том, чтобы разместить виртуальные машины и подключиться к ним через RDP. Если у вас есть более простые решения, я весь в ушах. И нет, у нас (пока) нет локального сервера для запуска виртуальных машин в режиме без головы (это было бы идеально).

Я использую VirtualBox 4.2.12, размещенный на Windows 7 Pro. Виртуальная машина, которую я использую, загружается с http://www.modern.ie ; щас пытаюсь с Windows 7 Enterprise.
Дополнения VirtualBox устанавливаются на гостевую ОС; Я даже переустанавливал их, на всякий случай.

В конфигурации виртуальной машины на вкладке «Дисплей / удаленный доступ» я установил флажок «Включить сервер», порт 3390, без проверки подлинности, разрешить несколько подключений. Я также пытался с различными случайными портами, с тем же результатом

На вкладке Сеть я пробовал NAT и мост:

  • Когда я использую «NAT», когда я пытаюсь подключиться к m.y.i.p:3390используя Mstsc, я получаю сообщение: Your computer could not connect to another console session on the remote computer because you already have a console session in progress. Я не могу найти много об этой ошибке в Google, и все, что я нашел, не сработало, как здесь .
  • Когда я использую «мост», я получаю классическое сообщение, когда вы пытаетесь подключиться к компьютеру, который не существует или отключен RDP, используя IP-адрес виртуальной машины, даже если я отключил брандмауэр в виртуальной машине.

Брандмауэр был отключен как на гостевой, так и на основной ОС.

Есть ли у вас идеи о том, как я могу получить удаленный доступ к этим виртуальным машинам?

благодаря

thomasb
источник
Попробуйте другой номер порта? Проверьте свой брандмауэр?
Дэвид
Я пробовал другие порты, и я отключил брандмауэр на хосте и гостевой ОС.
Томасб
@thomasbtv: Вы пытались использовать имя хоста виртуальной машины вместо IP-адреса?
Джеймс П
Моя проблема заключалась в том, что была установлена ​​более старая версия пакета расширений; это было отключено без какого-либо сообщения об ошибке, показывающего, когда VM запустилась. Вот как можно обновить: forums.virtualbox.org/viewtopic.php?f=7&t=44337
user423430

Ответы:

19

Я нашел не очень дружелюбное, но работающее решение:

В настройках ВМ:

  • Установите порт RDP на что угодно (он работает с 5030)
  • Установите сетевой доступ к NAT
  • Перейдите в Сеть> Дополнительно> Перенаправление портов и добавьте следующую строку:
    RDP ; TCP ; host's IP ; 5030 ; 10.0.2.15 ; 3389

IP-адрес хоста должен быть фактическим IP-адресом хоста, если вы хотите подключиться к другому компьютеру, или 127.0.0.1, если вы хотите подключиться к хост-компьютеру.

Кажется, все мои виртуальные машины имеют IP-адреса 10.0.2.15, но, возможно, это совпадение. Проверьте это, если это не работает.

В гостевой ОС убедитесь, что RDP включен: в Win7 щелкните правой кнопкой мыши компьютер> свойства> Удаленные настройки (на левой панели)> Разрешить подключения (я использовал «менее безопасный»)

Виртуальные машины, загруженные на modern.ie, имеют функцию «автоматического входа», которая в общем хороша, но раздражает в этом сценарии (они могут помешать вам войти). В Win7 запустите «netplwiz» и проверьте «Пользователи должны ввести имя пользователя и пароль». Пароль пользователя можно найти здесь (это Passw0rd!)

thomasb
источник
Также убедитесь, что брандмауэр на гостевой Windows отключен. Вы можете сделать это, выполнив следующие действия в строке или PowerShell сессии Command: netsh advfirewall set allprofiles state off.
Карлос Нуньес
Обязательно включите RDP на госте! Если вы этого не сделаете, вы получите неприятное «соединение отказано хозяином»
Фил
... и следите за всем, что его отключает, например, Avast / AVG устанавливает.
Маккензм
3

Приведенный выше ответ (от cosmo0) должен решить проблему, за исключением случаев, когда вам требуется аутентифицированное соединение. Для аутентификации, выберите externalв VM Настройки> Дисплей> Remote Display> Способ проверки подлинности . Затем в RDP-клиенте нажмите Показать параметры и установите флажок Разрешить сохранять учетные данные . Нажмите «Подключиться», после чего появится диалоговое окно с логином и паролем.


Если это не работает для вас, создайте пользователя RDP следующим образом. Найдите VBoxManage.exeинструмент командной строки (в моем случае он был C:\Program Files\Oracle\VirtualBox\) и выполните следующие команды, когда виртуальная машина выключена:

VBoxManage internalcommands passwordhash "your_password"

Вы получите хеш здесь. Скопируйте это. Затем продолжите с:

VBoxManage setproperty vrdeauthlibrary "VBoxAuthSimple"
VBoxManage modifyvm "your_VM_name" --vrdeauthtype external
VBoxManage setextradata "your_VM_name" "VBoxAuthSimple/users/your_username"
your_hash

Таким образом, вы создаете пользователя RDP, который должен работать. ПРИМЕЧАНИЕ, этот пользователь НЕ связан с какими-либо существующими пользователями в гостевой или хост-системе, он только для VirtualBox.

nazikus
источник
1

Это должно работать без запуска сервера на виртуальной машине. Это сервер VirtualBox, к которому вы подключаетесь.

Не должно быть необходимости начинать без головы.

Используйте другой порт, если вы включили RDP для вашего «клиента». Разрешить несколько экранов.

mckenzm
источник