Как подключиться по SSH к Ubuntu в VirtualBox
.jpg)
Введение
Виртуальные машины удобны для тестирования, настройки окружений и экономии ресурсов сервера. VirtualBox — популярный бесплатный гипервизор с большим набором функций. В этой статье показано, как настроить доступ по SSH к Ubuntu, запущенному в VirtualBox, используя стандартный NAT и проброс портов.
Ключевые понятия в одну строку:
- SSH: защищённый протокол удалённого доступа.
- NAT: сетевой режим VirtualBox, по умолчанию даёт доступ гостю в интернет, но блокирует входящие соединения извне.
- Проброс портов: маршрутизация порта с хоста на гостя при использовании NAT.
Шаг 1: Установка SSH на виртуальной машине
Если на гостевой системе нет графического интерфейса, SSH — основной способ удалённого управления. На полноценном рабочем столе SSH тоже работает.
- Запустите VirtualBox и стартуйте нужную виртуальную машину Ubuntu.
- В гостевой системе установите сервер OpenSSH:
sudo apt install openssh-server- Служба должна запуститься автоматически. Проверьте статус:
sudo systemctl status ssh
- Если на госте включён UFW (фаервол), разрешите порт SSH:
sudo ufw allow 22/tcpВажно: если вы разрешаете порт 22 глобально на гостевой машине и используете сетевой режим «Bridged», гостевой SSH будет доступен в вашей локальной сети. В режиме NAT предпочтительнее проброс портов на хосте.
Шаг 2: Настройка сети VirtualBox — проброс портов для NAT
По умолчанию VirtualBox использует адаптер NAT для ВМ. NAT даёт гостю исходящий доступ, но блокирует входящие соединения с хоста или сети. Чтобы подключиться по SSH к гостю из хоста, нужно сделать проброс порта.
- В VirtualBox правой кнопкой кликните по нужной VM и выберите “Настройки” (или Ctrl + S). Далее откройте раздел “Сеть”.

- Разверните “Дополнительно” и нажмите “Проброс портов”.
- Нажмите “+” чтобы добавить правило проброса.
Пример правилa:
- Имя: SSH port forwarding
- Протокол: TCP
- Хост IP: 127.0.0.1 (или оставить пустым для всех интерфейсов)
- Хост порт: 2222
- Гость IP: 10.0.2.13 (получите IP гостя командой ip addr или ip a)
- Гость порт: 22
При желании можно использовать другой хост-порт, например 2200 или 22222, если 2222 занят.

После сохранения правил перезапустите виртуальную машину, чтобы изменения применились.
Таблица примера проброса портов
| Поле | Значение |
|---|---|
| Имя | SSH port forwarding |
| Протокол | TCP |
| Хост IP | 127.0.0.1 |
| Хост порт | 2222 |
| Гость IP | 10.0.2.13 |
| Гость порт | 22 |
Шаг 3: Подключение по SSH с хоста
На основном (хостовом) компьютере запустите терминал и выполните:
ssh -p 2222 mwizak@127.0.0.1Где mwizak — имя пользователя в гостевой Ubuntu. Введите пароль пользователя при запросе.
Совет: для повседневного использования настройте аутентификацию по ключу и опцию в конфиге SSH клиента (~/.ssh/config):
Host vm-ubuntu
HostName 127.0.0.1
Port 2222
User mwizak
IdentityFile ~/.ssh/id_rsa_virtualboxТогда подключение упростится до команды ssh vm-ubuntu.
Безопасность: не забывайте защищать SSH
SSH безопасен по умолчанию, но остаётся мишенью для атак. Рекомендуем:
- Отключить вход по паролю и использовать ключи (Public key authentication).
- Запретить вход как root: в /etc/ssh/sshd_config установить PermitRootLogin no.
- Ограничить доступ по IP (в VirtualBox можно выставить Host IP не 0.0.0.0, а 127.0.0.1 или конкретный адрес).
- Включить fail2ban для лимита попыток входа.
- Обновлять OpenSSH и систему.
- Для рабочей инфраструктуры используйте двухфакторную аутентификацию и управление ключами.
Краткий чек-лист безопасности:
- Установлен OpenSSH
- Включён и работает sshd
- Проброс портов настроен корректно
- Настроены SSH-ключи и отключён вход по паролю
- Отключён вход root
- Логи и мониторинг на месте (fail2ban, audit)
Альтернативные подходы
- Bridged Adapter
- Позволяет гостю получить IP в вашей локальной сети. Тогда SSH доступ возможен напрямую по IP гостя без проброса портов. Подходит, если вы хотите, чтобы другие машины в сети подключались к гостю.
- Минус: гость доступен для всех устройств в сети — нужно сильнее защищать SSH.
- Host-Only Adapter
- Создаёт сеть только между хостом и гостем. Удобно для изолированных тестовых окружений.
- Использование NAT Network
- Позволяет нескольким гостям общаться в одной виртуальной сети и поддерживает проброс портов централизованно.
Когда не работает: проверьте фаервол на госте, IP гостя (ip a), и занятый ли хост-порт. Также убедитесь, что правило проброса создано именно для того адаптера NAT, к которому подключена VM.
Устранение неисправностей
- Ошибка “Connection refused”: убедитесь, что sshd запущен на госте (sudo systemctl status ssh) и что гость слушает порт 22 (ss -tlnp | grep 22).
- SSH зависает: проверьте, не блокирует ли UFW/iptables входящие на госте и не занят ли хост-порт.
- Неправильный IP гостя: внутри VM выполните ip addr или ip a и используйте показанный адрес в настройках проброса.
Роли и короткие чек-листы
Администратор:
- Установить openssh-server.
- Настроить проброс портов и проверку доступа.
- Настроить ключи и fail2ban.
Разработчик:
- Сгенерировать ключи SSH.
- Добавить публичный ключ в ~/.ssh/authorized_keys гостя.
- Использовать ~/.ssh/config для удобства подключения.
Критерии приёмки
- Удалённое подключение по SSH к гостю проходит из хоста командой ssh -p 2222
@127.0.0.1. - Вход возможен только по ключу (если это требование проекта).
- Логирование попыток входа работает, и нет неожиданных отказов сервисов.
Справочная информация и мини‑шпаргалка
- Стандартный SSH-порт: 22
- Пример host-порта для проброса: 2222
- Локальный адрес хоста: 127.0.0.1
- Команда проверки службы: sudo systemctl status ssh
- Получение IP в госте: ip addr show
Однострочные определения:
- SSH — протокол защищённого удалённого доступа.
- NAT — режим сети, скрывающий гостя за адресом хоста.
- Проброс портов — перенаправление трафика с порта хоста на порт гостя.
Краткое резюме
Настроить SSH в VirtualBox просто: установите openssh-server в гостевой Ubuntu, настройте проброс порта в VirtualBox (NAT → 127.0.0.1:2222 → гостей:22) и подключайтесь через ssh -p 2222 user@127.0.0.1. Для безопасной работы переведите доступ на ключи, запретите root и ограничьте доступ только нужными интерфейсами.
Важно: выбор сетевого режима (NAT, Bridged, Host-Only) определяет модель доступа и риски. Подбирайте режим под задачу и усиливайте безопасность при доступе из внешних сетей.
Похожие материалы
Как подключить Apple Magic Keyboard
Защита от вредоносного ПО в соцсетях
Права доступа в Linux — chmod, chattr, примеры
Клонирование HDD на SSD — быстрое руководство
Запуск Android на Linux: Waydroid, AVD, Android x86