Virtualbox доступ к linux

Как подключиться к виртуальной машине VirtualBox по SSH

После установки серверного дистрибутива Linux на виртуальную машину VirtualBox вы можете обнаружить, что подключение по SSH не работает. Это связано с тем, что по умолчанию на VirtualBox используется подключение к интернету с помощью NAT.

При таком способе подключения у вас нет возможности подключаться к виртуальной машине из своей реальной операционной системы. В частности, вы не сможете подключиться по SSH.

В данной статье мы рассмотрим сразу два способа, как можно решить эту проблему. Первый вариант – проброс портов через NAT, а второй – использование сетевого моста. Оба этих способа сохраняют доступ к интернету на виртуальной машине.

Проброс портов для SSH

Для проброса портов вам нужно знать IP адрес, который присваивается виртуальной машине. Для этого запустите виртуальную машину и выполните на ней команду « ip addr » или « ifconfig ». В ответ вы получите информацию о сетевых подключениях, в которой будет указан и IP адрес. В нашем случае был получен IP адрес – « 10.0.2.15 ».

Обратите внимание, если в вашей системе нет команды « ifconfig », то ее нужно будет установить отдельно. В случае Debian и Ubuntu Linux это можно сделать с помощью команды « apt-get install net-tools ».

выполнение команды ifconfig

После того как мы узнали IP адрес виртуальную машину нужно выключить и открыть ее настройки в программе VirtualBox.

переход к настройкам виртуальной машины

В настройках виртуальной машины нужно открыть раздел « Сеть », открыть дополнительные настройки и перейти к пробросу портов.

проброс портов в настройках

После этого откроется окно для проброса портов. Здесь нужно нажать на кнопку « Добавить » и заполнить следующие данные:

  • Имя : SSH.
  • Протокол : TCP.
  • Адрес хоста : оставляем пустым или указываем 127.0.0.1.
  • Порт хоста : любой свободный порт на вашей основной системе, например, 2222.
  • Адрес гостя : IP адрес, который был присвоен вашей виртуальной машине. В нашем случае это 10.0.2.15.
  • Порт гостя : порт SSH на виртуальной машине, по умолчанию – 22.

После проброса порта закрываем все окна с помощью кнопки « ОК ».

проброс портов для ssh

После этого можно подключаться к виртуальной машине по SSH. Для этого можно использовать клиент OpenSSH, который доступен в Windows 10. Поскольку порт « 2222 » на основной системе был проброшен на порт « 22 » на виртуальной машине, то для подключения по SSH нам нужно выполнить следующую команду:

Где « user » — это имя пользователя, а « 2222 » — используемый порт на основной системе.

подключение к ssh через openssh

Аналогичным способом выполняется подключение с помощью PuTTY . В поле « Host Name » указываем « localhost », а в поле « Port » — « 2222 ». Более подробно об OpenSSH и PyTTY в отдельной статье о подключении по SSH.

Читайте также:  Узнать абсолютный путь linux

подключение к ssh через putty

Как видно по скриншоту вверху, данный способ отлично работает, и мы успешно подключились по SSH к виртуальной машине VirtualBox.

Подключение через сетевой мост

Также есть альтернативный способ подключения к виртуальной машине по SSH для этого нужно изменить тип подключения с « NAT » на « Сетевой мост ». В этом случае виртуальная машина будет подключена к вашей локальной сети и получит IP адрес от вашего роутера из того же диапазона, что и ваша основная система.

Для этого нужно выключить виртуальную машину и зайти в ее свойства в программе VirtualBox. В настройках нужно зайти в раздел « Сеть » и включить тип подключения « Сетевой мост ».

переключение на сетевой мост

После этого нужно запустить виртуальную машину и выполнить на ней команду « ip addr » или « ifconfig » для того, чтобы узнать, какой IP адрес она получила от роутера. В нашем случае был получен IP адрес « 192.168.1.214 ».

выполнение команды ifconfig

После этого к виртуальной машине можно подключаться по SSH. Для этого нужно просто использовать IP адрес, который был ей присвоен роутером. Например, для того чтобы подключиться с помощью клиента OpenSSH нужно выполнить следующую команду:

Где « user » — это имя пользователя, а « 192.168.1.214 » — это ее IP адрес.

подключение к ssh через openssh

Аналогично работает и подключение с помощью PuTTY. Вводим « 192.168.1.214 » и подключаемся по стандартному порту « 22 ».

подключение к ssh через putty

Как и предыдущий способ, вариант с использованием сетевого моста отлично работает, при этом виртуальная машина не теряет доступа к интернету.

Источник

Настройка сети и доступа по ftp и ssh к гостевой машине в Virtualbox

Есть два способа настроить доступ по сети к гостевой машине Linux на Virtualbox.

  1. Подключить виртуальный адаптер хоста VirtualBox Host-Only Ethernet Adapter и настроить интерфейс соответствующей сети (enp0s8 обычно называется)
  2. Проброс портов от хостовой к гостевой машине

Давайте рассмотрим обе настройки подробно. В первом случае у нас появится полный доступ по ssh, ftp, sftp, http, https, а во втором просто по http. Итак, способ 1. Нам понадобится зайти в:

Virtualbox > Инструменты > Сеть > Создать

Создаём виртуальную сеть хоста, если её ещё нет и настраиваем следующим образом:

VirtualBox Host-Only Ethernet Adapter

DHCP сервер настраиваем так:

DHCP VirtualBox

Теперь жмём WIN+X(или правый клик на пуск) переходим в сетевые подключения > правый клик на VirtualBox Host-Only Network > меню свойства > выбираем свойства ipv4

Вроде там и так всё должно быть как надо, но проверить не помешает. Здесь у нас должно быть всё вот так:

VirtualBox Host-Only Network свойстваСвойства IPv4 VirtualBox Host-Only Network

Теперь в VirtualBox выбираем необходимую linux машину, переходим в её настройки > сеть и включаем адптер 2, выбрав виртуальный адаптер хоста следующим образом:

Виртуальный адаптер хоста настройки

Пришло время запустить машину и взглянуть на её сетевые интерфейсы. В терминале нашей гостевой тачки выполняем: ip a Тут мы видим два интерфейса: enp0s3 — это наш адаптер 1 или интерфейс сети NAT, через него у нас подключен инет на гостевой машине и enp0s8 — наш виртуальный адаптер хоста VirtualBox Host-Only Network

ip a интерефейсы virtualbox enp0s3 и enp0s8

Кстати, сетевые интерфейсы могут называться и иначе в других дистрибутивах linux — eth0, eth1, это не принципиально. Тогда просто по образу и подобию делать. Редактируем: nano /etc/network/interfaces Добавить следующие строки:

#static ip debian 9 auto enp0s8 iface enp0s8 inet static address 192.168.56.11 netmask 255.255.255.0

В параметре address можно указать любой адрес между нижней и верхней границей ip адресов DHCP сервера. У нас в данном случае это 192.168.56.3 — 192.168.56.254

Читайте также:  Как перезапустить все службы linux

Перезагружаем linux машину и пользуемся. Естественно на госте ещё должен быть установлен и запущен соответствующий сервер(ssh, http), но это другая история. Если вы используете панель vesta — у вас уже всё установлено. Подключаемся: ssh [email protected] Кстати, тут описано почему ssh не подключается под root и как исправить. Адрес 192.168.56.11 у нас теперь пингуется и если установлен какой-нить http сервер, то и доступен из адресной строки. Теперь мы можем назначить ему соответствующий домен, прописав его в C:\Windows\system32\drivers\etc\hosts и обращаться из браузера по домену.

Рассмотрим второй случай — проброс портов. Тут нам понадобится лишь 1 адаптер, жмем в настройках сети проброс портов и после таких настроек:

Источник

How to SSH into VirtualBox machine

You will learn how to SSH into a VirtualBox guest machine from a local host computer as well as from another computer. I use SSH as an example here, but these settings will work for other scenarios such as a web-server on your VirtualBox machine.

Content

Why SSH into VirtualBox?

There are multiple reasons you may want to connect to your VirtualBox guest OS through SSH or other means. I often do that to test various things including:

I use SSH as an example here because it is the simplest use case. However, these settings will work for other scenarios as well. You just need to install the necessary software and configure the corresponding ports in your VirtualBox OS. The rest is the same.

Prepare VirtualBox

Install SSH in VirtualBox OS

First, let’s install SSH in the VirtualBox OS. I assume you run a Debian-based distro such as Ubuntu in your VirtualBox. I have a detailed guide on how to install, configure and use SSH on Linux, if you need instructions for other Linux distros.

In Ubuntu, you need to install the OpenSSH server package:

sudo apt install openssh-server 

After the installation, check the SSH status:

sudo systemctl status ssh 

You should see that it is active:

SSH server service is active

If it is not, enable and start it manually:

sudo systemctl enable ssh --now sudo systemctl status ssh 

Open SSH port in Firewall

If you have a firewall enabled in your VirtualBox, it may block your SSH connection. You can find what ports are open with this command:

sudo lsof -i -P -n | grep LISTEN 

check open ports in Linux

If you do not find the port 22 among open ports, open it in your firewall:

sudo ufw allow ssh sudo ufw status verbose 

VirtualBox network settings

To open VirtualBox for SSH connections, we need to change the VirtualBox network settings to allow the SSH connection. Navigate to VirtualBox settings -> Network and make sure you have the settings Attached to NAT.

VirtualBox Network Settings

Then go to Advanced -> Port Forwarding and add these settings:

  • Name: ssh (or whatever you like)
  • Protocol: TCP
  • Host Port: 2222 (or any other port you like)
  • Gust port: 22

The IP fields can be left empty.

VirtualBox port forwarding

Similarly, you can also set port forwarding for other interfaces.

Install SSH client

To be able to SSH into the VirtualBox OS, you must have an OpenSSH client installed on the computer you are going to connect from e.g. your host computer or your another computer:

sudo apt install openssh-client 

If you use Windows as a client, install PuTTY.

Читайте также:  Astra linux профиль защиты

Connect to VirtualBox from the guest OS

Now, connect to the VirtualBox OS using the port 2222 that we set earlier and the username of your VirtualBox OS:

ssh -p 2222 virtualbox-user-name@localhost 

SSH log in

If you get a warning “Are you sure you want to continue connecting (yes/no)?”, type yes. You would also have to type the password of your VirtualBox user.

Now, you should have an SSH connection to your VirtualBox OS.

Connect to VirtualBox from another computer

Connecting to VirtualBox from another computer is a little more complicated. You need to change the network settings of your VirtualBox and also find out the IP address of your VirtualBox.

Switch to the Bridge Adapter in VirtualBox

The Bridge Adapter creates a routing that makes your VirtualBox network interface look like your host network interface. That way, you can to reach your VirtualBox machine from another machine.

You need to go to VirtualBox network settings and switch from NAT to Bridge Adapter.

VirtualBox Bridge Adapter settings

Find out your VirtualBox IP

You can find your VirtualBox IP address, if you run this command:

IP address in terminal

You can also find it in the graphical network settings:

Graphical Network Settings IP address

Note, this is your private IP address and to access it you need to be in the same network. You can SSH to your Virtualbox from outside of your local network if you use your public IP and configure the SSH port forwarding in your router. This poses an extreme security risk to your system, so I do not recommend doing so.

If you still want to do that, you can find out your public IP if you just google my ip . To configure the SSH port forwarding in your router, you need to follow the instruction of your router. The settings vary from model to model. This is how it looks in my router:

Router SSH port settings

Also, follow these SSH security measures:

  • use a strong password and SSH key authentication
  • disallow root access over SSH
  • do not use the default 22 port
  • disallow numerous SSH login attempts.

SSH to VirtualBox from another computer

Use the IP address you noted earlier to connect to the VirtualBox OS from another computer :

ssh virtualbox-user-name@virtualbox-ip-address 

Final thoughts

Now, you know how to SSH into a VirtualBox machine. VirtualBox provides endless possibilities for other tests and I hope now when you know the principle, you would be able to configure it for other use cases as well.

If you want to learn more about SSH, I have a detailed guide on how to install, configure and use SSH on Linux and how to enhance the security of your SSH connection with SSH keys and white-listed IP addresses.

Average Linux UserFollow I am the founder of the Average Linux User project, which is a hobby I work on at night. During the day I am a scientist who uses computers to analyze genetic data.

Источник

Оцените статью
Adblock
detector