SSH доступ к Ubuntu в VirtualBox

В качестве гостевой ОС в VirtualBox запущена Ubuntu. На ней развернут LAMP, где гоняются тесты веб-приложений. Чтобы не возится с общими директориями, но иметь возможность общаться с файловой системой гостевой ОС из домашней, реализуем возможность доступа к гостевой ОС по ssh протоколу. FTP поднимать не будем, так как SFTP, мне кажется, будет более, чем достаточно.

Изначально имеем:

  • VM VirtualBox установлен с настройками по-умолчанию;
  • домашняя ОС Windows 10;
  • Ubuntu Server установленный с ISO.




В Ubuntu устанавливаем SSH сервер. Я никаких настроек не изменял. Начального конфига более, чем достаточно.

sudo apt-get install ssh

Останавливаем виртуальную машину. И переходим к её настройкам – Настройки > Сеть.

VirtualBox_UbuntuServer_Settings

Приведите настройки Адаптера 1 к тем, что вы видите на скриншоте. Если в итоге у вас возникнут какие-то проблемы с сетью гостевой ОС, прежде всего, рекомендую попробовать использовать адаптер иного типа. Я ставлю Intel PRO/1000 MT исходя из железа, используемого на моей машине. Но вы можете попробовать «Паравиртуальную сеть (virtio-net)», например.

VirtualBox_UbuntuServer_Adapter2_Settings

Переходите на вкладку Адаптер 2, включите его и также приведите состояние настроек в аналогичное тому, что на скриншоте. Комментарии по поводу типа адаптера не отличаются от предыдущего случая.

Запустите виртуальную машину. При запуске можете получить ошибку (многие сталкиваются на Windows 10, например), где сообщается о невозможности открыть сетевое соединение:

Failed to open/create the internal network ‘HostInterfaceNetworking-VirtualBox Host-Only Ethernet Adapter’ (VERR_INTNET_FLT_IF_NOT_FOUND).
Failed to attach the network LUN (VERR_INTNET_FLT_IF_NOT_FOUND).

Отправляемся в Панель управления\Сеть и Интернет\Сетевые подключения, находим там VirtualBox Host-Only Network соединение и переходим к просмотру его Свойств. В списке используемых компонентов находим VirtualBox NDIS6 Networking Driver и включаем его.

VirtualBox_Host-Only_Ethernet_Adapter_Settings

Ошибка не должна больше вас беспокоить. Запускаем виртуальную машину.

Переходим к настройке сетевых интерфейсов в гостевой ОС. Необходимо добиться того, чтобы гостевая ОС имела статический IP адрес, по которому вы и будете к ней подключаться.

С правами root пользователя открываем в режиме редактирования файл /etc/network/interfaces.

sudo nano /etc/network/interfaces

Настраиваем интерфейс enp0s8. Содержимое файла необходимо привести к следующему состоянию:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto enp0s3
iface enp0s3 inet dhcp

auto enp0s8
iface enp0s8 inet static
    address 192.168.56.10
    netmask 255.255.255.0

Подключаться к виртуальной машине вы будете по ip 192.168.56.10. Сохраняем измененный файл /etc/network/interfaces, перезагружаем виртуальную машину и пробуем подключиться к ней по SSH.

Комментарии (10)

  1. Никита

    В Windows 10 добавлена возможность работать с bash Ubuntu из коробки. Я у себя на компе настроил Lamp сервер именно в bash. Не думал на этот счет? Это же удобней чем выделять ресурсы на целую виртуальную машину.

    • Привычная среда для запуска веб-приложений — Unix. Поэтому, для финального тестирования, виртуальная машина мне нравится больше. Условия идентичны боевым. Для разработки мне удобнее и приятнее Docker.

    • woodsleaf

      Там тоже виртуальная машина, просто другая.
      да и windows 10 очень любит новое железо, обновляться, и вообще плевать на пользователя.

  2. круто.заработало.спасибо!

  3. Макс

    Не заработало((
    VB — ubuntu 16 на win 10

    • Не следует следовать инструкции один в один.

      Первое узнайте какие в гостевой системе доступны сетевые интерфейсы:
      ifconfig -a
      в моем случае eth0, eth1, lo
      затем уже настраивает в /etc/network/interfaces
      а так же стоит обратить внимание в какой под сети находиться ваш VirtualBox Host-Only Ethernet Adapter

      После этого прописываете уже IP адрес

  4. Спасибо, помогло.

  5. включайте в параметрах сети virtualbox сетевой мост и не парьтесь, нетплан конечно адовая жесть по сравнению с interfaces

  6. Почему IP именно такой?

  7. Сетевой мост и… вуаля))

Добавить комментарий для Никита Отменить ответ

Ваш e-mail не будет опубликован. Обязательные поля помечены *