У меня были проблемы с созданием SSH-туннеля - пока я был далеко от дома - обратно к моей гостевой машине VirtualBox обратно в мой дом. Я провел некоторые исследования с использованием поисковых систем и просмотрел многочисленные сайты, но все еще не выполнил свою задачу.

Ответы в этой теме были самыми близкими к тому, что я почти выполнил. Я попытался самостоятельно «исправить», но мне было интересно, есть ли лучший способ вернуться по SSH к гостевой виртуальной машине из Интернета?

Вот краткая схема моей установки:

  • Remote device -> INTERNET -> MODEM -> ROUTER -> HOST MACHINE -> GUEST VM
  • Remote device (SSH client) -> PASS THRU DEVICES -> GUEST VM (ssh server)
  • Remote device (leave SSH port 3022) -> INTERNET -> MODEM -> ROUTER (FWD from port 3022 to 3022) --> HOST MACHINE (FWD from port 3022 to to port 22) -> GUEST VM (arrive ssh port 22)

1 ответ1

0

Ответы, предоставленные другими пользователями, помогли мне выполнить задачу подключения через Интернет к гостевому компьютеру моего домашнего компьютера. Вы должны иметь возможность подключаться с помощью компьютеров, планшетов и смартфонов (Android, IPhone и т.д.). Я добавлю еще несколько шагов на случай, если это может быть полезно кому-то еще:

Вот краткая схема моей установки:

  • Remote device -> INTERNET -> MODEM -> ROUTER -> HOST MACHINE -> GUEST VM
  • Remote device (SSH client) -> PASS THRU DEVICES -> GUEST VM (SSH server)
  • Remote device (leave SSH port 3022) -> INTERNET -> MODEM -> ROUTER (from port 3022 to 3022)--> HOST MACHINE (from port 3022 to 22 -> GUEST VM (arrive ssh port 22)

Ключом для меня было осознать, что ВСЕ соединения - это промежуточные устройства PASSING-THROUGH необходимо передать с моего удаленного ПК на мою гостевую виртуальную машину дома ... Следовательно, переадресация портов!

Заметки:

  • Нужен SSH-клиент для запроса безопасного соединения и работающий ssh-сервер для обработки безопасного соединения.
  • Я перешлю порт 3022, который используется в выбранном ответе сверху.
  • При необходимости введите свои IP-адреса (домашний модем / маршрутизатор, IP-адрес хоста, гостевой IP-адрес и т.д.). Выбранные имена являются лишь примерами - используйте или измените.
  1. Создайте туннель ssh для порта 3022 на внешнем IP-адресе модема / маршрутизаторе.
 ssh client/device possible commands: ssh -p 3022 user-name@home_external_IP
  1. Переадресация порта = мы передаем соединение от маршрутизатора к хост-машине

    • Также убедитесь, что правила брандмауэра /IPtable на маршрутизаторе позволяют перенаправлять порты (открывать при необходимости)
    • Экран Pfwd Pfwd маршрутизатора требует ввода: AppName: SSH_Fwd, Port_from: 3022, Protocol: обоих (UDP /TCP), IP_address: hostIP_address, Port_to: 3022, все остальное может быть пустым

    • Программные ресурсы маршрутизатора DD-WRT / Информация:

    • http://www.dd-wrt.com/wiki/index.php/Port_Forwarding
    • http://www.dd-wrt.com/wiki/index.php/Static_DHCP
  2. Брандмауэр хост-машины: открытый порт 3022 # так, чтобы переадресованный порт мог проходить через гостевую машину

    • Хост-машина: установите VirtualBox, гостевые дополнения и гостевой компьютер, если это еще не сделано
    • Настройте гостевой компьютер, а затем следуйте разделу «Сеть» ниже.
    • Я использовал VirtualBox GUI для настройки гостевой сети - проще, чем CLI

    • Если вы хотите использовать другие методы: VirtualBox /manual/ch06.html#natforward

  3. Некоторые предлагают использовать адаптер сетевого моста для гостевого = доступа к локальной сети и другим компьютерам в вашей локальной сети. Это также создает повышенную угрозу безопасности, поскольку теперь ваша гостевая машина теперь подвергается воздействию компьютеров локальной сети и, возможно, хакеров ИНТЕРНЕТ, если брандмауэр не настроен должным образом. Поэтому я выбрал Сетевой адаптер, подключенный к NAT, для уменьшения подверженности мостовым рискам безопасности.

На гостевой машине сделайте следующее:

  • Настройки сети VirtualBox на гостевой машине: Адаптер 1: Подключен к NAT,
  • Правило переадресации портов гостевого компьютера VirtualBox: имя: External_SSH, протокол: TCP, порт хоста: 3022, гостевой порт 22, IP-адреса хоста и гостя: оставьте пустым

  • Нажмите на продвижение в разделе Сеть, затем нажмите на Переадресацию портов, чтобы ввести правила

  • Брандмауэр гостевой машины: открытый порт 22 # можно подключиться через SSH

  • Гостевая машина: убедитесь, что сервер ssh установлен, правильно настроен и работает
  • LINUX тест, чтобы увидеть, работает ли ssh сервер: sudo service ssh status
  • Можно проверить netstat, чтобы увидеть, установлено ли соединение с портом 22 на гостевой машине.

Также есть разные SSH серверы и клиенты в зависимости от использования платформы.

Для пользователей Ubuntu:

Это должно быть так.

Надеюсь, это кому-нибудь поможет.

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