======Как подключиться к виртуальной машине 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». {{ :linux:virtualbox:041920_0856_1.png |}} После того как мы узнали IP адрес виртуальную машину нужно выключить и открыть ее настройки в программе VirtualBox. {{ :linux:virtualbox:041920_0856_2.png |}} В настройках виртуальной машины нужно открыть раздел «Сеть», открыть дополнительные настройки и перейти к пробросу портов. {{ :linux:virtualbox:041920_0856_3.png |}} После этого откроется окно для проброса портов. Здесь нужно нажать на кнопку «Добавить» и заполнить следующие данные: * Имя: SSH. * Протокол: TCP. * Адрес хоста: оставляем пустым или указываем 127.0.0.1. * Порт хоста: любой свободный порт на вашей основной системе, например, 2222. * Адрес гостя: IP адрес, который был присвоен вашей виртуальной машине. В нашем случае это 10.0.2.15. * Порт гостя: порт SSH на виртуальной машине, по умолчанию -- 22. После проброса порта закрываем все окна с помощью кнопки «ОК». {{ :linux:virtualbox:041920_0856_4.png |}} После этого можно подключаться к виртуальной машине по SSH. Для этого можно использовать клиент OpenSSH, который доступен в Windows 10. Поскольку порт «2222» на основной системе был проброшен на порт «22» на виртуальной машине, то для подключения по SSH нам нужно выполнить следующую команду: ssh user@localhost -p 2222 Где «user» — это имя пользователя, а «2222» — используемый порт на основной системе. {{ :linux:virtualbox:041920_0856_5.png |}} Аналогичным способом выполняется подключение с помощью PuTTY. В поле «Host Name» указываем «localhost», а в поле «Port» — «2222». {{ :linux:virtualbox:041920_0856_6.png |}} Как видно по скриншоту вверху, данный способ отлично работает, и мы успешно подключились по SSH к виртуальной машине VirtualBox. ===== Подключение через сетевой мост ===== Также есть альтернативный способ подключения к виртуальной машине по SSH для этого нужно изменить тип подключения с «NAT» на «Сетевой мост». В этом случае виртуальная машина будет подключена к вашей локальной сети и получит IP адрес от вашего роутера из того же диапазона, что и ваша основная система. Для этого нужно выключить виртуальную машину и зайти в ее свойства в программе VirtualBox. В настройках нужно зайти в раздел «Сеть» и включить тип подключения «Сетевой мост». {{ :linux:virtualbox:041920_0856_7.png |}} После этого нужно запустить виртуальную машину и выполнить на ней команду «ip addr» или «ifconfig» для того, чтобы узнать, какой IP адрес она получила от роутера. В нашем случае был получен IP адрес «192.168.1.214». {{ :linux:virtualbox:041920_0856_8.png |}} После этого к виртуальной машине можно подключаться по SSH. Для этого нужно просто использовать IP адрес, который был ей присвоен роутером. Например, для того чтобы подключиться с помощью клиента OpenSSH нужно выполнить следующую команду: ssh user@192.168.1.214 Где «user» — это имя пользователя, а «192.168.1.214» — это ее IP адрес. {{ :linux:virtualbox:041920_0856_9.png |}} Аналогично работает и подключение с помощью PuTTY. Вводим «192.168.1.214» и подключаемся по стандартному порту «22». {{ :linux:virtualbox:041920_0856_10.png |}} Как и предыдущий способ, вариант с использованием сетевого моста отлично работает, при этом виртуальная машина не теряет доступа к интернету.