SSH доступ к Ubuntu в VirtualBox. Virtualbox ssh


Настройка подключения по 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.

omurashov.ru

Доступ к гостевой машине по SSH в VirtualBox

Итак, задача: нужно получить доступ по SSH к гостевой ОСи в VirtualBox. Исходные данные: VirtualBox 4, host: Windows 7, guest: Debian 5 Lenny или Debian 6 Squeeze, сеть через роутер, все порты контролируются брандмауэром (KIS). И мы эти препятствия обойдём легко и быстро :)При установке VirtualBox должна быть включена опция Host-only Networking (по умолчанию включена).

 Для начала добавим второй сетевой адаптер:

  Потом установим ssh-сервер в гостевой оси.sudo aptitude install openssh-server

Узнаем имя второго сетевого адаптера:sudo ifconfigeth0 - основной, eth2, eth3, eth4, eth5 и дальше - дополнительные.

Подредактируем файл /etc/network/interfaces , добавим статический IP адрес:sudo nano /etc/network/interfacesauto eth2iface eth2 inet staticaddress 192.168.56.10netmask 255.255.255.0eth2 - имя второго сетевого адаптера (оно может быть разным).Здесь 10 в адресе 192.168.56.10 это не опечатка, последняя цифра адреса может быть от 2 до 255.

Перезагружаем виртуальную машину, пробуем в Putty соединиться:Хост: 192.168.56.10Порт: 22

  • виртуальная ОСь доступна по SSH, при этом она недоступна никому, кроме нас; 
  • трогать настройки роутера и брандмауэра не пришлось;
  • виртуальная ОСь имеет доступ к интернету;
  • можно открывать в браузере http://192.168.56.10 и тестировать web-приложения
Если выключать виртуальную машину с сохранением состояния, то после запуска машина может не увидеть внешнюю сеть. Это легко исправляется рестартом (виртуальной машины). У У моей виртуальной машины обычно нет необходимости видеть внешнюю сеть :)

eugenioz.blogspot.com

ssh - Как SSH для гостевой системы VirtualBox извне через хост?

SSH Вернуться к домашнему /Office VirtualBox гостевой машине из Интернета

Ответы, предоставленные другими пользователями здесь: How to SSH to a VirtualBox guest externally through a host?

... помог мне выполнить задачу подключения из Интернета к моей гостевой машине для домашних компьютеров. Вы должны иметь возможность подключаться с помощью компьютеров, планшетов и смартфонов (Android, IPhone и т.д.). Я добавлю еще несколько шагов, если это может быть полезно кому-то другому:

Вот краткая диаграмма моей установки:

  • Remote device ---> INTERNET --> MODEM --> ROUTER --> HOST MACHINE --> GUEST VM

  • Remote device (ssh client) ---> PASS THRU DEVICES ---> GUEST VM (ssh server)

  • Remote device (leave ssh port 3022) ---> INTERNET --> MODEM --> ROUTER (FWD frm:p3022 to:p3022)--> HOST MACHINE (FWD frm:p3022 to:p22) --> GUEST VM (arrive ssh port 22)

Ключ для меня заключался в том, чтобы понять, что ВСЕ соединения были PASSING-THROUGH промежуточными устройствами, чтобы перейти с моего удаленного ПК на гостевую виртуальную машину дома - переадресация порта!

Примечания: * Необходимо, чтобы клиент ssh запрашивал безопасное соединение и работающий ssh-сервер для обработки безопасного соединения.

  • Я буду пересылать порт 3022, используемый в выбранном ответе сверху.

  • Введите свои IP-адреса там, где это необходимо (домашний модем/маршрутизатор, IP-адрес хоста, гостевой IP-адрес и т.д.). Выбранные имена - это просто примеры - использование или изменение.

1.Создайте туннель ssh на порт 3022 на внешний IP-адрес вашего модема IP/маршрутизатора.

ssh client/device possible commands: ssh -p 3022 user-name@home_external_IP

2.Порт вперед = мы проходим через соединение с маршрутизатором на хост-машину

  • Также убедитесь, что правила брандмауэра /IPtable на маршрутизаторе позволяют пересылать порты (при необходимости открывать)

  • Router Pfwd Необходимые записи: AppName: SSH_Fwd, Port_from: 3022, Протокол: оба (UDP/TCP), IP_address: hostIP_address, Port_to: 3022, все остальное может быть пустым

Ресурсы программного обеспечения маршрутизатора DD-WRT/Info:

3. Файловый брандмауэр Hhost: открытый порт 3022 #so переадресованный порт может проходить через гостевую машину

  • Хост-компьютер: установите VirtualBox, гостевые дополнения и гостевую машину, если они еще не выполнены

  • Настройте гостевую машину, а затем следуйте ниже в разделе "Сеть" ниже

  • Я использовал VirtualBox GUI для настройки гостевой сети - проще, чем CLI

  • Если вы хотите использовать другие методы, обратитесь к: VirtualBox/manual/ch06.html#natforward

4.Некоторые предлагают использовать адаптер сетевого моста для guest = доступ к локальной сети и другим компьютерам в вашей локальной сети. Это также повышает риск безопасности, так как теперь ваша гостевая машина теперь доступна для компьютеров LAN и, возможно, для интернет-хакеров, если брандмауэр не настроен должным образом. Поэтому я выбрал сетевой адаптер, подключенный к NAT, для уменьшения подверженности рискам безопасности.

На гостевой машине выполните следующие действия:

  • Пользовательская машина VirtualBox Параметры сети: Адаптер 1: присоединен к NAT
  • Правило маршрутизации виртуальной машины FastBox для гостевой машины: имя: External_SSH, протокол: TCP, порт хоста: 3022, гостевой порт 22, гостевые IP-адреса: оставить пустым
  • перейдите в раздел "Сеть", затем нажмите "Переадресация портов", чтобы ввести правила.
  • Брандмауэр гостевой машины: открытый порт 22 #so ssh соединение может войти
  • Гость: убедитесь, что ssh-сервер установлен, настроен правильно и работает
  • Тест LINUX для проверки работы сервера ssh с командой: sudo service ssh status
  • Можно проверить netstat, чтобы узнать, связано ли соединение с портом 22 на гостевой машине.

Также существуют разные серверы и клиенты ssh в зависимости от использования платформы.

  • wikipedia/Secure_Shell
  • wikipedia/Comparison_of_SSH_servers
  • wikipedia/Comparison_of_SSH_clients

Для пользователей Ubuntu:

  • ubuntu community: SSHOpenSSH/Configuring
  • ubuntu/community: OpenSSH/Keys

Это должно быть так. Если я допустил ошибку или хочу что-то добавить - я могу это сделать - я все еще ноб.

Надеюсь, это поможет кому-то. Удачи!

qaru.site