Как подключиться к виртуальной машине через ssh
Работа с виртуальной машиной Ubuntu
Мы изучим как включить виртуальную машину, подключиться к ней по SSH, как зайти через терминал в общую папку, как отключиться от виртуальной машины, выключить её и завершить с ней работу.
Пока старый видосНачало работы с виртуальной машиной
Запуск виртуальной машины
Запустите приложение VirtualBox
Любым из имеющихся способов, найдите у себя на Маке приложение VirtualBox и запустите его.
Запустите виртуальную машину
Выберите виртуальную машину «HSEDC2016-1» и нажмите «Start».
Дайте виртуальной машине загрузиться и через некоторое время вы увидите экран входа в систему. Логиниться в систему не обязательно.
Подключение к виртуальной машине
Запустите приложение Terminal
Любым из имеющихся способов, найдите у себя на Маке приложение Terminal и запустите его.
Вы увидите открывшийся терминал.
Подключитесь к виртуальной машине по SSH
Введите в терминале следующую команду и нажмите Enter.
Если подключение к localhost не возможно, то вместо localhost нужно написать «127.0.0.1».
На вопрос о том, хотите ли вы продолжить подключение, напишите yes и нажмите Enter. Это необходимо сделать только один раз при первом подключении.
Далее, нужно ввести пароль «hsedc2016» и нажать Enter.
Во время ввода пароля вы не будите видеть как появляются символы или звёздочки. Это нормально, не обращайте на это внимания. Просто вводите пароль и жмите Enter.
Вы вошли на виртуальную машину и находитесь в папке своего пользователя.
Переход в общую папку
Для того, чтобы начать работать, скорей всего вам прийдётся перейти в общую папку.
Воспользуйтесь командой cd
Команда cd позволяет входить и выходить из папок. Следующая команда два раза выйдет из папки и зайдёт в папку media, а в ней в папку sf_Share.
sf_Share — это наша расшаренная папка с Мака (sf — Shared Folder). Не нужно писать эту команду полностью руками, так проще ошибиться в именах папок. В Терминале существует свой автокомплит. Напишите:
После чего нажмите Tab. Далее допишите следующую часть команды:
И нажмите Tab. После указания необходимого пути, нажмите Enter.
Теперь вы находитесь в общей папке. Можно переходить к работе.
Завершение работы с виртуальной машиной
Для того, чтобы все наработки и настройки правильно сохранялись на виртуальной машине, нужно правильно от неё отключаться.
Отключение от виртуальной машины
Это не обязательный шаг. Если его не сделать, то во время выключения виртуальной машины, ваше соединение прервётся само по себе. Но так или иначе, вам необходимо уметь отключаться от установленный подключений через SSH.
Отключитесь от SSH
Напишите «logout» в окне Терминала в котором вы подключились по SSH и нажмите Enter.
Вы отключились от виртуальной машины, можете закрыть Терминал. Теперь пора выключить виртуальную машину.
Выключение виртуальной машины
Виртуальную машину можно выключить несколькими способами. Нас интересует лишь один из них.
Отправьте сигнал выключения
Откройте окно с запущенной виртуальной машиной и нажмите на крестик, чтобы закрыть его.
В появившемся окне выберите «Send the shutdown signal» и нажмите OK.
Выключите виртуальную машину
В появившемся окне выберите пункт «Shut Down.
Если этого пункта нет, то закройте всплывающее окно, введите пароль, чтобы залогиниться, после чего попробуйте повторить процедуру выключения виртуальной машины ещё раз.
Только что вы включили виртуальную машину, подключились к ней по SSH, зашли в общую папку, отключились от SSH и выключили виртуальную машину.
Через несколько занятий вы будите делать эти действия машинально не задумываясь.
Как подключиться к виртуальной машине 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. Для этого можно использовать клиент OpenSSH, который доступен в Windows 10. Поскольку порт « 2222 » на основной системе был проброшен на порт « 22 » на виртуальной машине, то для подключения по SSH нам нужно выполнить следующую команду:
Где « user » — это имя пользователя, а « 2222 » — используемый порт на основной системе.
Как видно по скриншоту вверху, данный способ отлично работает, и мы успешно подключились по 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 ».
Как и предыдущий способ, вариант с использованием сетевого моста отлично работает, при этом виртуальная машина не теряет доступа к интернету.
Создатель сайта comp-security.net, автор более 2000 статей о ремонте компьютеров, работе с программами, настройке операционных систем.
Задайте вопрос в комментариях под статьей или на странице «Задать вопрос» и вы обязательно получите ответ.
Как по ssh подключится к виртуальной машине?
Не могу понять как мне настроить подключение между компом и виртуалкой.
Как мне реализавать точно так же, но на новой виртуалке?
1 ответ 1
Бродил по поисковику в надежде найти информацию по подключению по SSH на свой сервер Ubuntu. Установив пакет SSH и проверив его работоспособность понял что моих знаний не хватит чтобы пробросить связь между VM и моей WINDOWS системой.
В итоге я нашёл способ как это сделать но первоисточник я не сохранил, поэтому прийдётся написать всё с нуля.
Открываем настройти VirtualBox:
Создаём новую сеть, даём любое название и переходим во вкладку «проброс портов»:
Затем необходимо ввести следующие значения:
После всех манипуляций необходимо зайти на сам сервер, в моём случае это Ubuntu 16.04 на борту у которого установлен пакет SSH.
Подведём итог по настройке.
В пробросе портов мы ввели порт: 1337, IP адрес сервера мы получили со значением: 192.168.0.102, Имя пользователя можно настроить на сервере, в моём случае я отключил защиту от подключения ROOT пользователя и могу подключаться под именем root.
Теперь открываем Putty/Powershell/etc и вводим полученные значения.
После ввода получаем ответ от сервера о успешном подключении и необходимости ввести пароль.
Вот конечный результат:
Я не знаю насколько правильно я всё делал, но у меня получилось так завести SSH подключение к моему серверу и перепробовав многочисленные ответы на разных сайтах я выбрал именно этот, поэтому получится может не у каждого (смотря какие руки).
Если есть замечания или вопросы прошу отписать в комментариях.
Подключение к локальной виртуальной машине Linux по SSH или как решить задачу о двух стульях ничьей
Некоторые воскликнут: «Но ведь можно поставить две системы в DualBoot или виртуальную машину, с которой можно общаться напрямую!» К сожалению, ни один из этих трёх способов не является панацеей. При использовании первого приходится постоянно скакать между системами, а также он доступен не на всех устройствах (на моём MacBook Pro 2017-ого года поставить нативно Linux — весьма неприятное занятие). Второй также требует работы с двумя разными системами, что может сильно ударить по чувству перфекционизма, а также требует весьма больших мощностей для использования средств по сглаживанию разницы между ними. Про третий же сейчас чуть подробнее расскажу.
Начну с предупреждения о том, что если вам в разработке необходим доступ к графическому интерфейсу, то этот способ не для вас (если пользуетесь Windows, то рассмотрите вариант с WSL. Linux там очень урезанный, зато можно подключить к ней X Window System). Будем подключаться к дистрибутиву на базе ядра Linux, но этот способ можно интерполировать на другие системы. Также замечу, что изначально мною рассчитывалось сделать небольшой туториал для одногруппников, но тема оказалась достаточно интересной, чтобы попытаться превратить её в статью. Поэтому то, о чём я собираюсь говорить может показаться некоторым пользователям Хабра слишком тривиальным.
У меня же возникла потребность в таком решении в виду следующих причин:
Для начала перейдём на сайт Ubuntu и скачаем установочный образ Ubuntu Server
Можно, в принципе, выбрать и любой другой дистрибутив, даже всемогущий Arch, но мне было лениво.
После чего создаём новую виртуальную машину в вашей любимой для этого программе. На Parallels и VMWare это делается просто и естественно, а на VirtualBox или QEMU придётся покурить мануалы. В случае первых двух рекомендую отключить разные не особо нужные плюшки типа «общих принтеров». Также можете попробовать ограничить производительность виртуальной машины для сохранения энергии, но не переборщите. В противном случае система просто не запустится.
В общем, желательно немного покопаться в настройках нашей подопечной для максимальной производительности. Самое главное — это опция «Общая сеть» (Shared network). Она позволяет машине выходить в сеть, и другим устройствам к ней удалённо подключаться.
Выберите язык и начните установку Ubuntu Server. Вас должен встретить такой экран —
(Да, он просит выбрать язык ещё раз)
Дальше ничего сложного (собственно, и не было). Просто тыкайте «далее» прямо как в Windows. Но, как говорится:
Потом настройте пользователя и запомните его логин (не путайте с полным именем) и пароль.
Также хочу отметить, что установщик попытается скачать дополнительные 66 мегабайт пакетов.
Собственно, вскоре установка завершится и вам будет предложено перезагрузить виртуальную машину, но перед этим удостоверьтесь, что образ установочного диска был отключен от неё. Потом, если всё прошло хорошо, вы загрузитесь в вашу новую систему, но сначала введите ваш логин и пароль.
После этого всё должно быть готово, однако вы можете попробовать дополнительно настроить подключение по SSH. Для этого отредактируйте с помощью nano или Vim (чтобы из него выйти, наберите :wq) файл /etc/ssh/sshd_config от имени администратора:
Для этого просто раскомментируйте нужные вам строки (удалите ‘#’ перед каждой из них). После чего перезапустите службу для подключения по SSH:
Далее нам нужно узнать ip адрес нашего устройства. Для этого нам пригодится команда: Найдите среди вывода программы ваше устройство (иногда его название можно определять в настройках виртуальной машины) и запомните его адрес, помеченный как inet:
После всего этого окошко с нашей системой можно свернуть. Теперь давайте всё-таки попробуем к ней подключиться. для этого введём в терминал родной системы
где «hovushka» и «10.211.55.28» нужно заменить на ваш логин и ip адрес. Далее вас попросят ввести ваш пароль и вуаля! Вы зашли в Ubuntu:
Но на этом веселье не заканчивается! Мы, конечно, настроили подключение, и можем управлять виртуальной машиной, но это весьма бесполезно, так как мы не можем получить так просто доступ к её локальным файлам из родной системы. Конечно, Vim и по SSH прекрасно работает, но всё ещё отличий от простого использования виртуальной машины практически нет.
Я предлагаю поступить более креативно и воспользоваться sshfs. На MacOS он ставится летящей походкой через brew (он попросит сначала поставить FUSE). После этого достаточно ввести команду
где так же следует заменить логин и ip адрес, а «
/SSH» на какую-нибудь удобную для вас директорию. Далее к ней будет примонтирован домашний каталог нашего пользователя из виртуальной машины:
Теперь можно файлами виртуальной системы как угодно распоряжаться из-под хоста и пользоваться привычными программами и приложениями, запуская нужные команды через подключенный по SSH терминал:
У этого способа, несмотря на его большую аутентичность, есть свои минусы. Во-первых многие из них унаследованы от обычного использования виртуализации (например, падение производительности). Во-вторых, будет присутствовать небольшая задержка в записи изменений на виртуальный диск (вимерам может не понравится). Ну и в-третьих, некоторые виртуальные машины умеют видеть файлы с родной системы, но из командной строки это сложнее настроить и вам придётся пользоваться окном самой виртуальной машины, что накладывает ряд ограничений.
Напоследок хочу упомянуть, что несколько идей было взято с этого сайта.
Как подключиться к виртуальной машине VirtualBox по SSH
09.06.2020 Система 199 Просмотров
После установки серверного дистрибутива 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. Для этого можно использовать клиент OpenSSH, который доступен в Windows 10. Поскольку порт « 2222 » на основной системе был проброшен на порт « 22 » на виртуальной машине, то для подключения по SSH нам нужно выполнить следующую команду:
Где « user » — это имя пользователя, а « 2222 » — используемый порт на основной системе.
Как видно по скриншоту вверху, данный способ отлично работает, и мы успешно подключились по 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 ».
Как и предыдущий способ, вариант с использованием сетевого моста отлично работает, при этом виртуальная машина не теряет доступа к интернету.