10

Укороченная версия

Если я запускаю гостевую виртуальную виртуальную машину Ubuntu VirtualBox с хоста Windows 10, какие шаги мне нужно предпринять, чтобы выполнить ssh с удаленного сервера Linux в гостевую виртуальную машину Ubuntu?


_______________________
[                     ]
[ Windows 10          ]
[ ___________________ ]            ____________________
[ [                  ]]            [                   ]
[ [ Ubuntu VM (guest) <----HOW?---- SUSE remote server ]
[ [__________________]]            [___________________]
[_____________________]

Длинная версия

Я запутался, потому что, AFAIK, если я не использовал гостевую виртуальную машину Ubuntu и вместо этого использовал реальную машину с Ubuntu, я мог просто cat /etc/hosts , найти IP-адрес локального, а затем из удаленного просто:

user@remote --ssh--> user@<local IP>

Я уже настроил ключи ssh так, чтобы я мог ssh из гостевой системы Ubuntu на удаленный сервер SUSE (то есть гостевой ~/.ssh/id_rsa.pub уже хранится в удаленном ~/.ssh/authorized_keys). Т.е. Я уже могу:

ssh -Y user@remote

Без труда, но я не могу сделать это наоборот, просто потому что я не знаю, каков IP-адрес моего гостя. И я уже пробовал ssh -ing с IP-адресами в "Информация о соединении" из Ubuntu GUI.

Также должно быть ясно:

  • гостевой виртуальной машиной является Ubuntu 12.04 LTS (64-битная)

  • Настройки VirtualBox в основном: по умолчанию

  • Включить сетевой адаптер: NAT (кабель подключен, переадресация портов отсутствует)

Я не настроил ssh-сервер, но я не уверен, что это необходимо (?), Это мое понимание до сих пор.

Итак, учитывая, что я запускаю гостевую виртуальную виртуальную машину Ubuntu VirtualBox с хоста Windows 10, какие шаги мне нужно предпринять, чтобы выполнить ssh с удаленного сервера Linux в гостевую виртуальную машину Ubuntu?

2 ответа2

14

Обычно это называется "двойной NAT", когда вы находитесь за маршрутизатором. Вы должны переслать с пограничного маршрутизатора в систему Windows, а затем переслать в VBox на виртуальную машину. Возможно, вам также придется перенаправить порт 22 от фактического сетевого подключения к адаптеру VBox NAT, но я не совсем уверен в этом для Windows.

В конечном счете, здесь вам нужно сделать максимум три вещи. Они все в Windows, или не в Ubuntu Linux, поэтому большинство ваших ответов будут на Супер пользователя или в другом месте.

  1. (Если вы находитесь за маршрутизатором в вашей сети, на котором работает Win10) Настройте переадресацию портов на маршрутизаторе в сети, чтобы перенаправить порт 22 в вашу систему Windows 10.

  2. Установите брандмауэр Windows, чтобы разрешить входящие подключения через порт 22. Возможно, вам также понадобится указать, что вы хотите, чтобы порт 22 был переадресован с вашего входящего сетевого адаптера в сеть NAT в настройках сети виртуальной машины.

  3. Установите правило пересылки NAT в сети NAT в VirtualBox, чтобы перенаправить порт 22 хоста на порт 22 виртуальной машины.

Немного более приятный подход, позволяющий обойти Шаг 2 и Шаг 3, заключается в использовании Bridged Mode в настройках сети ВМ; Затем он получит IP-адрес из той же сети, к которой подключена система Windows 10, и вы сможете затем перенаправить порт 22 перенаправления на граничном маршрутизаторе (шаг # 1) на IP-адрес, назначенный сетью самой виртуальной машине. Это немного менее болезненно, чем выполнение нескольких прыжков и настроек для работы порта 22.

ПРИМЕЧАНИЕ. Некоторые интернет-провайдеры фильтруют порт 22, поэтому трафик порта 22 не достигает системы; вам может потребоваться настроить порт более высокого уровня, чем порт 22 (например, 2022 или другой нестандартный порт> 1024), если это так.


Что касается нахождения IP гостя, эта информация будет в выводе списка адресов ifconfig -a или ip -4 addr list в гостевой системе Linux. Это самая легкая часть из всего этого, потому что это будет то же самое, Bridged или NAT.

3

Вам нужно будет настроить port forwarding в Windows 10 VM player

Вам нужно будет установить внешний порт на компьютере с Windows 10, который будет перенаправлен на service port на virtual machine в NAT network .

Эта ссылка объясняет, как это сделать

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .