Как подключиться к виртуальной машине 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 нам нужно выполнить следующую команду:

ssh user@localhost -p 2222

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

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

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

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

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

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

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

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

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

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

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

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

ssh [email protected]

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

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

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

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

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

Остались вопросы?

Задайте вопрос в комментариях под статьей или на странице «Задать вопрос» и вы обязательно получите ответ.

18 комментариев - Добавьте свой
  1. аватар
  2. аватар
  3. аватар
  4. аватар
    • аватар
  5. аватар
    • аватар
  6. аватар
    • аватар
  7. аватар
  8. аватар
    • аватар
      • аватар
      • аватар
  9. аватар
    • аватар
  10. аватар
  11. аватар
Оставить комментарий