SSH доступ к Ubuntu в VirtualBox
В качестве гостевой ОС в VirtualBox запущена Ubuntu. На ней развернут LAMP, где гоняются тесты веб-приложений. Чтобы не возится с общими директориями, но иметь возможность общаться с файловой системой гостевой ОС из домашней, реализуем возможность доступа к гостевой ОС по ssh протоколу. FTP поднимать не будем, так как SFTP, мне кажется, будет более, чем достаточно.
Изначально имеем:
- VM VirtualBox установлен с настройками по-умолчанию;
- домашняя ОС Windows 10;
- Ubuntu Server установленный с ISO.
В Ubuntu устанавливаем SSH сервер. Я никаких настроек не изменял. Начального конфига более, чем достаточно.
sudo apt-get install ssh
Останавливаем виртуальную машину. И переходим к её настройкам – Настройки > Сеть.
Приведите настройки Адаптера 1 к тем, что вы видите на скриншоте. Если в итоге у вас возникнут какие-то проблемы с сетью гостевой ОС, прежде всего, рекомендую попробовать использовать адаптер иного типа. Я ставлю Intel PRO/1000 MT исходя из железа, используемого на моей машине. Но вы можете попробовать «Паравиртуальную сеть (virtio-net)», например.
Переходите на вкладку Адаптер 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 и включаем его.
Ошибка не должна больше вас беспокоить. Запускаем виртуальную машину.
Переходим к настройке сетевых интерфейсов в гостевой ОС. Необходимо добиться того, чтобы гостевая ОС имела статический 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)
В Windows 10 добавлена возможность работать с bash Ubuntu из коробки. Я у себя на компе настроил Lamp сервер именно в bash. Не думал на этот счет? Это же удобней чем выделять ресурсы на целую виртуальную машину.
Привычная среда для запуска веб-приложений — Unix. Поэтому, для финального тестирования, виртуальная машина мне нравится больше. Условия идентичны боевым. Для разработки мне удобнее и приятнее Docker.
Там тоже виртуальная машина, просто другая.
да и windows 10 очень любит новое железо, обновляться, и вообще плевать на пользователя.
круто.заработало.спасибо!
Не заработало((
VB — ubuntu 16 на win 10
Не следует следовать инструкции один в один.
Первое узнайте какие в гостевой системе доступны сетевые интерфейсы:
ifconfig -a
в моем случае eth0, eth1, lo
затем уже настраивает в /etc/network/interfaces
а так же стоит обратить внимание в какой под сети находиться ваш VirtualBox Host-Only Ethernet Adapter
После этого прописываете уже IP адрес
Спасибо, помогло.
включайте в параметрах сети virtualbox сетевой мост и не парьтесь, нетплан конечно адовая жесть по сравнению с interfaces
Почему IP именно такой?
Сетевой мост и… вуаля))