VirtualBox с RDP через туннель SSH

У меня есть странное требование, которое, как я думал, было бы легко выполнить, но оказалось сложнее, чем я думал.

Я управляю научным кластером высокоуровневых HPC. Пользователь хочет, чтобы виртуальная машина Windows 7 запускала определенное приложение. Я создал виртуальную машину на своем Mac, а затем скопировал ее на сервер Centos 7 в кластере. VirtualBox прекрасно работает как автономный сервер и говорит, что прослушивает порт 3389.

Чтобы попасть в кластер, сначала нужно подключиться к узлу входа по ssh, а оттуда вы можете получить остаток кластера.

Итак, я должен создать туннель SSH, верно? За исключением того, что туннель не относится к узлу входа в систему, а к другому серверу в кластере после того, как вы попадете в узел. ВМ не работает на сервере входа в систему (это сама по себе ВМ). Так я должен сделать двойную пересылку?

Я попытался использовать localforward в файле.ssh/config, и он не совсем работает.

Теперь я думаю, что мне нужно настроить узел входа в систему для пересылки всего трафика через порт 3389 на сервер, на котором запущен vm.

Я двигаюсь в правильном направлении или лаю не на том дереве?

1 ответ

Учитывая, что вы можете настроить сервер входа в систему для перенаправления трафика в экземпляр VirtualBox, я предполагаю, что сервер VirtualBox находится всего в одном шаге от сервера входа в систему, и сервер входа в систему может достичь экземпляра VirtualBox через порт 3389.

В этом случае вам не нужно делать двойную пересылку. SSH может переадресовать порт любого удаленного компьютера, к которому может подключиться сервер SSH, поэтому вам нужно только сделать следующее:

ssh -L 3389:host.which.runs.virtualbox:3389 the.login.node

Возможно, стоит отметить, что host.which.runs.virtualbox:3389 часть в примере выше относится к компьютеру, на котором вы вошли. Так что, если компьютер входа в систему знает хост, на котором работает VirtualBox, как vboxrunner.localвы можете использовать это имя при пересылке, даже если ваш локальный компьютер (на котором работает ssh) ничего не знает об этом имени.

Другие вопросы по тегам