За замовчуванням 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.