Virtualbox ssh to linux

SSH доступ к Ubuntu в VirtualBox

В качестве гостевой ОС в VirtualBox запущена Ubuntu. На ней развернут LAMP, где гоняются тесты веб-приложений. Чтобы не возится с общими директориями, но иметь возможность общаться с файловой системой гостевой ОС из домашней, реализуем возможность доступа к гостевой ОС по ssh протоколу. FTP поднимать не будем, так как SFTP, мне кажется, будет более, чем достаточно.

  • VM VirtualBox установлен с настройками по-умолчанию;
  • домашняя ОС Windows 10;
  • Ubuntu Server установленный с ISO.

В Ubuntu устанавливаем 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.

Настраиваем интерфейс enp0s8. Содержимое файла необходимо привести к следующему состоянию:

Подключаться к виртуальной машине вы будете по ip 192.168.56.10. Сохраняем измененный файл /etc/network/interfaces, перезагружаем виртуальную машину и пробуем подключиться к ней по SSH.

Комментарии (9)

В Windows 10 добавлена возможность работать с bash Ubuntu из коробки. Я у себя на компе настроил Lamp сервер именно в bash. Не думал на этот счет? Это же удобней чем выделять ресурсы на целую виртуальную машину.

Привычная среда для запуска веб-приложений — Unix. Поэтому, для финального тестирования, виртуальная машина мне нравится больше. Условия идентичны боевым. Для разработки мне удобнее и приятнее Docker.

Там тоже виртуальная машина, просто другая.
да и windows 10 очень любит новое железо, обновляться, и вообще плевать на пользователя.

Источник

Проброс портов в VirtualBox для подключения к Linux по SSH

В данной статье мы с Вами рассмотрим возможность программы VirtualBox пробрасывать порты в гостевую операционную систему, для того чтобы иметь доступ к ней с хоста, т.е. с реальной машины, например, в тех случаях, когда подключение (сеть) в гостевой ОС в VirtualBox работает в режиме «NAT».

Данная возможность будет полезна, например, когда Вам нужен одновременно и доступ к Интернету в гостевой операционной системе, и доступ к каким-нибудь сервисам в гостевой ОС с хоста.

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

Рассматривать проброс портов мы будем на примере случая, когда Вы создали виртуальную машину в VirtualBox и установили в нее серверную операционную систему, например Linux Ubuntu Server, при этом Вы настроили сеть в режиме NAT для доступа в Интернет, но доступа к гостевой операционной системе (Ubuntu Server) у Вас нет. Например, Вы не можете подключиться к ней по SSH со своего компьютера, или обратиться к Web серверу, или даже просто скопировать команду и вставить в консоль. Поэтому давайте пробросим порт в гостевую ОС, например, для того чтобы подключится к ней по SSH всем известной программой PuTTY. С помощью нее мы сможем без проблем управлять сервером и в случае необходимости копировать команды в нее.

PuTTY – это бесплатная клиентская программа для удаленного подключения, например к серверам по протоколам SSH, Telnet и другим. Она позволяет управлять удаленным компьютером. PuTTY — это клиентская часть, серверная должна быть реализована на удаленной стороне, например, в нашем случае в Ubuntu Server должен быть установлен SSH сервер. Скачать PuTTY можно с официального сайта — www.putty.org.

Читайте также:  Probook 4510s драйвера windows 10

Настройка проброса портов в VirtualBox для SSH

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

Шаг 1

Для того чтобы пробросить порт, запускаем VirtualBox и заходим в настройки нашей виртуальной машины с Ubuntu Server. Например, выбираем нужную машину и нажимаем кнопку «Настроить», данный пункт также доступен, если нажать правой кнопкой мыши по выбранной виртуальной машине.

Шаг 2

Затем переходим в раздел настроек «Сеть», и открываем вкладку с включенным адаптером. Тип подключения, как Вы помните, «NAT» — для доступа в Интернет.

Шаг 3

Далее щелкаем на пункт «Дополнительно», чтобы отобразить дополнительные настройки данного адаптера, и после этого нажимаем на кнопку «Проброс портов».

Шаг 4

В итоге у нас откроется окно «Правила проброса портов». Для добавления нового правила нажимаем на иконку с плюсиком.

Шаг 5

На данном этапе Вы уже должны знать IP адрес гостевой операционной системы и порт, который прослушивает SSH сервер (по умолчанию это 22 порт). В Ubuntu Server IP адрес можно узнать с помощью команды ifconfig (по умолчанию это 10.2.0.15).

Описание колонок таблицы с правилами:

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

После заполнения таблицы с правилом, нажимаем «ОК».

Шаг 6

На этом настройка проброса портов закончена, теперь мы можем проверить работу данного правила (проброса). Для этого сначала запускаем виртуальную машину с Ubuntu Server, а затем программу PuTTY. На вкладке Session выбираем тип соединения SSH и в поле Host Name пишем локальный адрес компьютера (хоста), которой мы указывали в колонке «IP хоста» в правилах проброса портов, если ничего не указывали, то пишите 127.0.0.1. В поле порт указываем номер порта, который мы указывали в колонке «Порт хоста», т.е. 2222. Нажимаем кнопку «Open».

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

У меня на этом все, надеюсь, материал был Вам полезен, пока!

Источник

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Источник

How to SSH into your VirtualBox Guest

Having the capability to SSH into your Guest OS can come in handy when you don’t want to use the GUI of your Virtual Machine. Simply start your VM in a headless mode and SSH in and out of it without having multiple windows open in your terminal.

For those who are new to the idea of SSH, we will have a short introduction to the workings of SSH before diving into the setup. Also we would need to discuss the network related settings of your VM to make sure you have access to that VM from anywhere in your LAN.

How SSH-keys works?

Here’s simplified model of how SSH works. You create a pair of keys on your local computer. A public key and a private key. Messages encrypted using Public key can be decrypted using the private key and vice versa. These keys are usually stored on your local computer at a path

/.ssh/id_rsa (private key) and

/.ssh/id_rsa.pem (the public key).

You then go to your remote server, login to a console as a regular or root user, open up the file

/.ssh/authorized_keys of that server. Here you enter the contents of your public key as it is. Once that is done, you can ssh as that user on the server whose .ssh directory has the authorized_keys, from your local device.

The .pem extension signifies that that file is the public key that you can share with anyone. The id_rsa part just signifies what encryption cipher is being used (in this case it happens to be RSA). The private key can further be protected by a passphrase which you would have to enter, everytime you want to login to a remote server using that private key.

If you have a Mac, Linux or any other UNIX-like system as your local computer you can generate and manage keys using terminal, and you can also SSH into remote servers using the same terminal. For Windows users, I’d suggest use PuTTY or Git Bash the latter being my personal preference. The commands are pretty much the same once you have an SSH client.

Читайте также:  Размер шрифта kali linux

SSH-keys Setup

First make sure, if there are no ssh-keys already in your home directory. Check the contents of your home directory’s .ssh folder. If in doubt, back up its contents before executing the following command. Programs like Filezilla use SSH keys all the time, without the user’s knowledge so this step is rather crucial.

In your local machine, open the terminal and enter the command:

This will be followed up by the following prompts with values in bracket indicating the default values. Proceed with the prompts and give your keys a secure passphrase.

Verify that the keys are created by checking the contents of your

If you see files matching the default values displayed in the ssh-keygen prompt then everything has worked fine.

Now open up a console to your Virtual Machine. First check if your VM has SSH server running or not.

If it is not installed, use your package manager to search and install OpenSSH server. Once that is done make sure that your VM’s firewall is open on port number 22. For example, if you are using Ubuntu as a VM, the default firewall ufw should either be disabled or should allow port 22 connections like so:

If if is not open at port 22, use the follow command:

Next open up the file

/.ssh/authorized_keys on your VM, using your favorite text editor. You may want to enable host-to-guest or bidirectional clipboard for this next step.

Inside this file (at the bottom of the file, if it is not empty) paste in the contents of your public key. The last part where it says your name and the local host where the keys were generated is not that important as the rest of the string.

(Optional) Not using SSH-keys

If you trust your local network, then you can use the less secure method of using your UNIX password, to ssh into your VM. Open up the file /etc/ssh/sshd_config on your VM and replace the line:

Once that is in place, restart your SSH server.

Now you can use the regular password that you use to login to your VM to ssh into it as well.

Your Virtual Machine and Network

For you to ssh into your VM, both your local computer (the one with the private key) and the VM should be on the same network. So you can reach to that VM’s IP address. We will show you how to add the VM to your LAN.

Let’s consider the example of a typical home router setup. Your computer, along with other devices, is connected to the home router. This router also acts as a DHCP server, meaning it assigns each device that’s connected to it, a unique private IP address. Your desktop gets an IP, so does your phone and your laptop. Only the devices that are connected to this router can talk to one another via their IP addresses.

Enable bridged networking mode in the settings of your VM and the VM will show up as being connected to your home router (or a similar DHCP server) with a private IP. If a second device is connected to the same network (say, to the same home router) then it can be used to ssh into the VM.

Open VirtualBox Manager, select your target VM, open up the Settings → Network and select Bridge Networking instead of NAT.

As you can see my host is connected using Wireless so that connection is also shared by the VM, if you are using Ethernet, a different interface name would show up which is fine.

Now, my VM, which is named ubuntuvm, shows up on my LAN setup as following. Check your router settings to see if the same works for you.

Once you know the IP address of your VM, you can SSH into it by running the command:

If you have put a passphrase for your private key in the above steps, you would be prompted to re-enter it.

That’s it! Now you can start your VMs in headless mode and just ssh into them from anywhere in your house. Hope you found this tutorial interesting, let us know if there’s any topic you would want us to cover.

About the author

Ranvir Singh

I am a tech and science writer with quite a diverse range of interests. A strong believer of the Unix philosophy. Few of the things I am passionate about include system administration, computer hardware and physics.

Источник

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