SSH в Ubuntu VM віддалено


10

У мене немає великого досвіду роботи з мережами або Linux, але я намагаюся вторгнутися у віртуальну машину Ubuntu за межами своєї домашньої мережі. Віртуальна машина Ubuntu (VirtualBox) працює на робочому столі Debian. Я провів кілька досліджень і виявив, що мені потрібно переслати порт 22 від маршрутизатора до віртуальної машини.

  • Я змінив мережеве налаштування на VM на міст.
  • Я пересилаю порт VM.
  • Я перевірив ( http://www.yougetsignal.com/ ), щоб показати порт відкритим.

Але коли я намагаюся підключити це все ще не працює. ssh ім'я користувача @ - з'єднання відмовлено

Чи потрібно щось робити всередині віртуальної машини, щоб дозволити вхідні з'єднання? Або переслати будь-який порт?

Чи є щось, що я роблю неправильно, будь-яка допомога буде дуже вдячна !!


Як мережа VM поєднана з хостом. Якщо він знаходиться за NAT (за замовчуванням у віртуальному вікні). Він не працюватиме, але з'єднане з'єднання повинно працювати, якщо ви правильно переслали порти.
Метт Моц

Ви використовуєте ssh ім'я користувача @ router-ip-адреса правильно?
cprofitt

1
так ім’я користувача @ public-ip-адреса це правильно?
користувач1354275

Ubuntu out-of-box включає в себе клієнт OpenSSH , який дозволяє підключитися до іншого комп'ютера, на якому працює SSH-сервер. Щоб підключити 'до' Ubuntu, вам потрібно завантажити сервер OpenSSH ( sudo apt-get install openssh-server ) на цільовий апарат.
david6

Відповіді:


15

За замовчуванням VirtualBox працює в режимі "NAT", це означає, що він будує "віртуальну" мережу і переводить доступ до мережі з VM, щоб вони зовнішнього світу з'явилися з вашого фактичного комп'ютера.

VirtualBox змушує VM думати, що він підключений до мережі, але насправді VirtualBox надає мережеві послуги, включаючи міні-сервер DHCP. Потім VirtualBox робить мережевий доступ "від імені" VM, завдяки чому він виглядає як просто інша програма, що працює на вашому ПК.

Однак це означає, що зовнішній світ насправді не знає про VM і не може отримати доступ до нього безпосередньо.

Я думаю, що перенаправлення порту, яке ви зробили, було з домашнього маршрутизатора на ваш ПК, а не на VM. Можливо, вам не вистачає певної конфігурації на стороні VirtualBox. Вибачте, якщо ви це вже робили, але ваше питання з цього приводу було не ясно.

По суті, вам потрібно змінити мережеву конфігурацію VM та встановити її на "Бріджене". Це означає, що він створює віртуальний інтерфейс на вашому ПК та використовує VM для використання для зовнішнього світу; все, що потрапляє або переходить на цей інтерфейс, потрапляє в VM. Таким чином, VM буде видно як ще одна машина в будь-якій мережі, до якої підключений ваш ПК (навіть у нього є своя MAC-адреса!).

Тоді, залежно від конфігурації вашої мережі, VM може отримати DHCP-адресу, як і будь-який інший ПК, підключений до вашого маршрутизатора, або вам може знадобитися налаштувати статичну IP-адресу для нього. Це залежить від налаштування вашої мережі.

Як тільки VM має "реальну" адресу, ви можете на своєму маршрутизаторі слідувати інструкціям, які ви знайшли для маршрутизації порту 22 до IP-адреси VM. Це має працювати так, як ви цього очікуєте.

Якщо цього немає:

  • Подивіться на конфігурацію брандмауера VM (iptables -L -n). Це щось блокує?
  • Налаштуйте інший комп’ютер у вашій локальній мережі та спробуйте SSH на IP-адресу VM. Якщо ви можете, тоді вам потрібно двічі перевірити конфігурацію переадресації у вашому роутері. Якщо ви не можете, потрібно повторно перевірити конфігурацію SSH та брандмауера VM.

Привіт roadmr, я змінив мережеве налаштування на міст і я перейшов порт до VM, оскільки у нього є власний IP, і маршрутизатор зміг його знайти. У мене є статичний ip від isp. Але досі не працює
user1354275

1

з того, що я можу зібрати, ваша проблема полягає у вашій комп'ютерній мережі сервера, тому що, як тільки ви встановите мережу vm в режим перемикання, вам добре піти (перевірити ssh <your.vm.ip.number>в командному рядку вашого сервера - не в vm).

ваш сервер знаходиться за маршрутизатором, як і vm, що використовує NAT у вашій машині.

Вам потрібно зв’язатися з адміністратором вашої серверної мережі, щоб він / вона могла висувати локальну ip адресу вашого vm до порту / діапазону портів (переконайтеся, що у вашого vm є статична IP-адреса).

Ви можете зробити це самостійно, якщо у вас був авторитет на шлюзі вашого сервера для цього.

трохи візуалізації:

Internet
     '---ROUTER (SERVER1 and SERVER2 use NAT on this router)
            |   (vm1, vm2, vm3, vm4, vm5 need to be forwarded on this router)
            | 
            '--- SERVER1 (vm1, vm2, vm3 use Bridge)
            |       '---vm1
            |       '---vm2
            |       '---vm3
            '--- SERVER1 (vm4, vm5 use Bridge)
            |       '---vm4
            |       '---vm5
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.