Как удаленно подключиться к виртуальному боксу через ssh из windows в ubuntu

Обновлено: 21.11.2024

Мой домашний компьютер: ноутбук с Windows 7, на котором также установлена ​​виртуальная машина Ubuntu через VirtualBox с мостовым сетевым подключением (в отличие от NAT).

Мой рабочий компьютер: компьютер с Windows 7.

Я хочу подключиться к своему домашнему компьютеру по SSH удаленно с рабочего компьютера, потому что я хочу иметь возможность запускать/манипулировать своим веб-сервером LAMP (который включает в себя MySQL, да). Я запускаю Apache на VirtualBox, и было бы здорово иметь удаленный контроль.

Насколько я понимаю, SSH — это способ удаленного «входа» в ваш терминал, да? Я погуглил эту тему (которая привела меня к таким вещам, как PuTTY), но мне трудно понять, как все это работает или что мне нужно настроить или иметь в виду, будучи новичком.

Однако было бы неплохо иметь возможность подключения по SSH из любого места, если это возможно! это было бы очень удобно.

Возможно, мы сможем помочь, но вы не объяснили, что вам на самом деле нужно. ssh — это протокол, который позволяет вам подключаться (обычно) к удаленным компьютерам. Тем не менее, пожалуйста, не объединяйте несколько вопросов в одном сообщении, вместо этого разбивайте их на отдельные.

Технически это все один вопрос, так как я не знаю, разрешает ли SSH мне такой доступ, который "удаленный вход" может не дать SQL. Если да, то я могу спросить, как правильно использовать SSH. Если нет, то мне может понадобиться что-то еще. В противном случае возможно, что я спрошу, как использовать SSH, а затем в самом конце скажу: «О, кстати, мой удаленный вход в систему для SQL отключен», «НУ ПОЧЕМУ ТЫ ТАК НЕ СКАЗАЛА» и т. д. Задним числом 20/20

Я предполагаю, что функция удаленного входа в SQL предназначена для доступа из-за пределов системы (например, из удаленной веб-службы или чего-то подобного). Если вы используете SSH, то это будет похоже на то, что вы локальный пользователь, и вы можете использовать SQL, так как он не сможет сказать, что вас там нет физически (ну, технически, он может быть в состоянии, но скорее всего не будет).

К сожалению, вам нужно быть намного точнее, чтобы мы могли вам помочь. Какой была точная команда? (без «или что-то в этом роде», пожалуйста) О чем именно вы говорите об удаленном входе в систему? Где вы увидели сообщение о них? Если вы имеете в виду удаленные входы в MySQL, они не имеют ничего общего с ssh. После того, как вы вошли в систему через ssh, вы в основном находитесь на удаленной машине, это не будет «удаленным» входом в систему с точки зрения mySQL. Пожалуйста, отредактируйте свой вопрос и уточните.

2 ответа 2

Чтобы установить/настроить SSH, вам следует ознакомиться с одним из многих руководств, которые вы можете найти в Интернете, например, с этим.

Вы можете подключиться к виртуальной машине через SSH с помощью следующей команды:

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

Inet addr — это ваш локальный IP-адрес, в моем случае 191.13.238.54 . Если бы я подключился к моему SSH-серверу на своем компьютере, я бы выполнил следующее:

Чтобы разрешить подключение из-за пределов вашей сети, вам необходимо перенаправить входящий трафик через порт, на котором работает SSH, на ваш локальный IP-адрес через панель администратора вашего маршрутизатора. Некоторые маршрутизаторы могут не поддерживать это, и панель администратора у разных производителей работает по-разному. Если вы столкнулись с этой проблемой, вы всегда можете позвонить в службу поддержки.

Чтобы проверить свой "глобальный" IP-адрес, посетите этот веб-сайт: какой у меня IP?

При подключении к вашему "серверу" через SSH вы можете выполнять различные задачи, такие как SQL:

В приведенном выше сценарии root — это пользователь, пароль включается с помощью -p, а хост — 127.0.0.0/localhost (ваш локальный компьютер).

Вы также можете получить доступ к файлам с помощью nano или любого другого текстового редактора, такого как очень популярный и мощный (и сложный) vim. В общем, теперь у вас в руках мощь терминала, если вы подключаетесь через PuTTY.

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

Это странная статья, включающая несколько, казалось бы, не связанных между собой тем. Нам это нужно, потому что после установки Ubuntu в VirtualBox мы можем войти в него только через окно VirtualBox. Вместо этого мы хотели бы иметь возможность использовать какой-нибудь ssh-клиент, например, команду ssh на OSX или Linux или Putty на компьютере с Windows.

Мы предпочитаем клиент ssh, поскольку именно так вы будете взаимодействовать с машиной Linux, если она будет работать на сервере хостинговой компании. Клиенты ssh также больше подходят для работы, чем окно VirtualBox.

VirtualBox и сеть

VirtualBox создает виртуальную сеть для запускаемых в ней ящиков.По умолчанию VirtualBox настраивает сеть с NAT (преобразование сетевых адресов). Он дал нашему компьютеру с Linux IP-адрес, настроил ваш хост-компьютер в качестве маршрутизатора и разрешил пользователям на компьютере доступ к внешнему миру. Например, так мы могли бы обновить пакеты Linux и установить новые.

Однако мы не можем получить доступ к ящику из внешнего мира. Даже с нашего хост-компьютера.

С одной стороны, хорошо, что никто из Интернета не может получить доступ к нашему ящику, но мы хотели бы иметь возможность подключиться к виртуальному ящику по ssh хотя бы с нашего собственного ноутбука/настольного компьютера. Позже мы также захотим настроить несколько ящиков и разрешить им общаться друг с другом.

Есть много способов настроить это. Мы собираемся использовать «сети только для хоста». Это параметр конфигурации сети, предоставляемый VirtualBox, который позволяет вашему хосту получать доступ к вашим гостевым ОС, как если бы они находились в какой-то локальной сети.

Создать сеть только для хоста для VirtualBox

Сначала нам нужно создать или активировать сеть VitualBox только для хоста. Затем мы скажем каждому из наших (в настоящее время одному :) VirtualBox использовать эту сеть.

Отключите гостевую операционную систему ( sudo shutdown -P now ).

Чтобы создать (или проверить существование) сеть только для хоста, нажмите «Глобальные инструменты» в правом верхнем углу окна VirtualBox. Это должно выглядеть так:

Здесь щелкните Host Network Manager, нижнее из двух полей.

Здесь вы можете увидеть 0 или более строк. Изображение взято с хоста OSX. Я думаю, что на хостах Windows поле «Имя» может содержать более длинное имя.

Если у вас нет записей, вам нужно создать их.

Нажмите кнопку "Создать+" в верхнем левом углу.

Если на хосте установлена ​​операционная система MS Windows, для этой операции могут потребоваться права администратора Windows. Найдите всплывающее окно, которое может быть фоновым.

Установите для адреса/маски IPV4 значение 192.168.56.1/24, как в моей настройке. Вам не нужно включать DHCP-сервер для нашей конфигурации, но это тоже не помешает, поэтому, если он включен, оставьте его включенным.

Добавить сеть только для хоста в гостевую систему VirtualBox

Каждый гость VirtualBox должен быть настроен для использования сети VirtualBox только для хоста.

Для этого щелкните Станки .

Выберите свой компьютер и нажмите "Настройки".

Нажмите на вкладку "Сеть".

Адаптер 1 настроен на NAT.

Нажмите, чтобы перейти к адаптеру 2

Выберите «Присоединен к:», «Адаптер только для хоста».

Имя: выберите vboxnet0 или как оно называется в вашей системе.

Теперь вы настроили сеть только для хоста для этого блока.

Давайте загрузим его сейчас и убедимся, что Ubuntu также настроен правильно.

Добавить интерфейс в Ubuntu Linux

После запуска окна войдите в систему и выполните следующую команду:

Это показывает активные сетевые интерфейсы. У нас есть два. Тот, который создан для адаптера NAT, и "lo" для интерфейса обратной связи, чтобы компьютер мог общаться сам с собой.

Отобразятся все интерфейсы, включая тот, который в данный момент не включен. Здесь мы видим дополнительный интерфейс enp0s8, у которого нет связанного IP-адреса.

Нам нужно отредактировать файл интерфейсов: /etc/network/interfaces. Поскольку он принадлежит пользователю root, нам нужно использовать sudo. Если вы не знакомы с более мощными редакторами, используйте nano:

Добавьте следующие строки в конец файла:

Затем нам нужно запустить сетевую карту. Мы можем либо перезагрузить машину с помощью sudo shutdown -r сейчас, либо установить программное обеспечение, которое сделает это за нас:

Запустите сетевой интерфейс:

Вы можете убедиться, что интерфейс был настроен, снова запустив ifconfig и увидев, что теперь в списке есть 3 сетевых карты, и каждая из них имеет IP-адрес.

Кроме того, вы можете проверить это, открыв окно Cmd на вашем компьютере с Windows и набрав

Вы должны увидеть 4 ответа.

Установить ssh-сервер

По умолчанию эта установка Ubuntu не поставляется с ssh-сервером, поэтому, если вы еще этого не сделали, вам необходимо установить его:

Это установит и запустит сервер.

Сам ssh

Вы можете попробовать ssh-сервер локально, попытавшись подключиться с вашего виртуального компьютера с Linux обратно к тому же виртуальному компьютеру с Linux. Каждая Linux-машина имеет IP-адрес 127.0.0.1 для ссылки на себя, и по умолчанию каждая машина Linux сопоставляет имя localhost с этим IP-адресом. Таким образом, если мы подключаемся по ssh к локальному хосту, мы фактически разговариваем сами с собой.

Сначала он попросит вас подтвердить «хост», что в данном случае означает «удаленный компьютер», которым является наша Ubuntu Linux. Если вы введете «да», клиент ssh сохранит ключ вашего сервера в файле с именем .ssh/known_hosts, поэтому ему не нужно будет снова задавать этот вопрос, и он будет запрашивать у вас ваш «удаленный» пароль. Поскольку «удаленный» и «локальный» — это одна и та же машина, теперь это пароль вашего пользователя Linux.

Если это удалось, теперь вы можете открыть ssh-клиент на рабочем столе и подключиться к машине с Ubuntu.

В Windows вам потребуется скачать putty.exe (файл .msi не нужен. Просто скачайте exe и запустите его из каталога загрузки или с рабочего стола)

Вам нужно будет ввести IP-адрес «удаленной машины», которой является наш ящик Ubuntu 192.168.56.10, а затем он запросит у вас имя пользователя и пароль.

@ ВНИМАНИЕ: ИДЕНТИФИКАЦИЯ УДАЛЕННОГО ХОСТА ИЗМЕНИЛАСЬ! @

Если вы настраиваете компьютеры не в первый раз, вы можете легко столкнуться с сообщением об ошибке, которое выглядит следующим образом:

Пояснение

Когда вы подключаетесь к машине по ssh в первый раз, ssh запросит ключ ECDSA хоста. Затем он попросит вас убедиться, что ключ, полученный от хоста, является правильным ключом. Это используется для того, чтобы вы, пользователь, знали, что вы подключаетесь к серверу, к которому намеревались подключиться, а не к какой-либо другой машине, выдающей себя за этот сервер. Вопрос выглядит так:

Когда вы соглашаетесь на это, подпись этого сервера сохраняется в файле ~/.ssh/known_hosts. Одна строка для каждого сервера, к которому вы подключаетесь, в формате

При каждом последующем подключении к тому же компьютеру ssh будет проверять, что ключ, отправляемый удаленным сервером, совпадает с указанным для данного имени хоста или IP-адреса в файле ~/.ssh/known_hosts. Если это тот же ключ, процесс ssh продолжится, а затем сервер попытается подтвердить, что вы тот, за кого себя выдаете. Либо запросив ваш пароль, либо попросив вас использовать свой закрытый ключ, чтобы убедиться, что он соответствует открытому ключу, который у него есть в файле. (В файле ~/.ssh/authorized_keys на удаленной машине) Если ssh не находит имя хоста или IP-адрес удаленной машины в файле ~/.ssh/known_hosts вашего локального пользователя, то он задает вопрос как мы описали выше. Если, однако, имя хоста было найдено, но подпись, отправленная вам сервером, не совпадает с той, что у вас есть в файле, вы получите вышеуказанное сообщение об ошибке. (Утверждается, что это ПРЕДУПРЕЖДЕНИЕ.)

Это может произойти, если вы заменили серверный компьютер другим компьютером, но использовали тот же IP-адрес и/или то же имя хоста. Или если какая-то другая машина выдает себя за ваш сервер. Это то, что обычно называют атакой «человек посередине». Даже если нападавшая женщина по имени Мэллори. Это может произойти, например, если один из ящиков, который действует как маршрутизатор между вами и удаленной машиной, через которую проходит ваш трафик, внезапно попытается действовать как этот удаленный сервер. Если вы этого не заметите, вы можете ввести свой пароль и сообщить владельцу этого ящика, человеку посередине, ваш пароль.

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

Это легко может произойти, если вы сейчас играете с виртуальными образами на своем компьютере, клонируете их и меняете их IP-адрес, а может быть, вы уничтожаете один из них, а затем создаете новую машину с тем же IP-адресом, что и раньше. В этом случае можно безопасно принять новую подпись. Это можно сделать следующим образом: вы редактируете файл ~/.ssh/known_hosts на компьютере, с которого вы запускаете ssh-клиент, и удаляете строку, соответствующую конкретному серверу. Это строка, упомянутая в приведенном выше сообщении об ошибке, в данном случае это строка 2 в файле ~/.ssh/known_hosts.

Удалите строку 2 из ~/.ssh/known_hosts. Затем снова попробуйте ssh. Он попросит вас проверить ключ удаленного хоста. Когда вы скажете «да», ключ будет сохранен в файле ~/.ssh/known_hosts.

Разъяснение словарного запаса

VirtualBox использует host для описания вашей основной операционной системы. VirtualBox использует гостевую систему для описания ОС, установленной внутри образа VB.

В сетевых терминах компьютер, за которым вы сидите, обычно называется клиентом. Компьютер, к которому вы подключаетесь, обычно называется сервером или хостом.

В нашей настройке термины смешаны. В частности, слово «хост» может относиться как к вашей системе Windows (хост VirtualBox), так и к блоку Ubuntu, который (сетевой хост). Поэтому убедитесь, что вы понимаете, что есть что.

Узнайте, как создать собственный локальный экземпляр Ubuntu 18.04 Server с помощью VirtualBox в Windows 10.

Обучение становится проще, если у вас в руках есть инструмент, который вы хотите освоить. Если вы хотите научиться работать с сервером, он вам нужен. В настоящее время аренда сервера обходится довольно дешево, вы можете найти виртуальный частный сервер (VPS) всего за 5 долларов США в месяц у разных провайдеров, поэтому быстро получить функциональный сервер несложно. Но что может быть лучше дешевого сервера? Это бесплатный сервер, да? Если вы знаете, что делаете, вы можете легко настроить виртуальную машину, которая запускает Ubuntu Server на вашем компьютере с Windows. Вы можете использовать этот сервер, чтобы узнать больше о среде Linux и связанных с ней материалах локально.

В этой статье мы объясним вам, как настроить собственный Ubuntu Server 18.04 на виртуальной машине локально в Windows 10 и как получить к ней частный доступ через SSH.

Мы не публикуем виртуальную машину. Идея состоит в том, чтобы ваш собственный сервер Ubuntu работал локально и был доступен через протокол SSH локально на вашем компьютере.

Мы также рекомендуем вам ознакомиться с учебным пособием в нашем видео на YouTube, которое содержит подробное пошаговое описание.

Требования

Чтобы следовать этому руководству, вам потребуются следующие компоненты, которые уже установлены на вашем компьютере:

    : эта программа должна быть уже установлена, никаких специальных настроек или настроек не требуется. : вы можете скачать ISO-файл операционной системы для серверной версии с официального сайта (размер файла ~890MB).

И это все, вам больше ничего не нужно, чтобы начать настройку вашего нового локального сервера Ubuntu.

1. Создать новую виртуальную машину

Откройте VirtualBox и приступайте к созданию новой виртуальной машины для Ubuntu. В верхнем меню выберите «Создать» (или нажмите Ctrl + N ):

И дайте имя вашей виртуальной машине. Выберите также Linux в качестве типа и Ubuntu в качестве версии (с архитектурой вашего файла ISO, в нашем случае 64-битной):

Затем нажмите "Далее".

2. Настройка оборудования ВМ

Теперь, имея базовую информацию о виртуальной машине, мы настроим оборудование в том же мастере. Первый шаг — определить максимальный объем оперативной памяти, который будет назначен виртуальной машине. Это значение полностью зависит от того, что вам нужно, и в соответствии с вашими ресурсами. У нас есть 24 ГБ оперативной памяти, поэтому мы определим это значение равным 4 ГБ:

Затем вам потребуется создать новый виртуальный жесткий диск. Мы создадим его с нуля с теми же настройками:

После выбора создания диска выберите хранилище для динамического выделения, и вам нужно будет указать размер жесткого диска. Для виртуальной коробки сервера Ubuntu рекомендуется 10 ГБ, однако в зависимости от того, что вам нужно, вы можете увеличить размер. В этом случае мы установим его на 30 ГБ:

После ввода этого значения мастер основного оборудования закроется. Теперь нужно указать сетевую конфигурацию виртуальной машине, иначе у нас не будет доступа к интернету. Для этого выберите созданную виртуальную машину и нажмите Настройки (или нажмите Ctrl+S ):

Затем перейдите на вкладку «Сеть» и выберите вкладку «Адаптер 1» в разделе «Сеть». Установите для параметра «Присоединен к» значение «Мостовой адаптер»:

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

Теперь перейдите на вкладку Storage и выберите первый диск в области Controller: IDE. На правой боковой панели найдите параметр оптического привода и нажмите на диск, затем выберите параметр «Выбрать файл виртуального оптического диска»:

В появившемся диалоговом окне найдите на своем компьютере ISO-файл с ISO-файлом Ubuntu Server, который у вас есть (в нашем случае ubuntu-18.04.4-live-server-amd64.iso ).

Наконец нажмите "ОК".

3. Запустите виртуальную машину и установите Ubuntu 18.04

Теперь, когда мы настроили все необходимое для начала установки, загрузите виртуальную машину, нажав кнопку Пуск:

Это запустит виртуальную машину, и она загрузится с ISO-образом Ubuntu 18.04, показывая вам установку установки:

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

4. Доступ к виртуальному серверу через SSH

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

Однако, если вы хотите узнать адрес для подключения к серверу с помощью другого инструмента, такого как PuTTY, вы можете просто ввести команду ifconfig для отображения состояния сетевых интерфейсов:

В нашем случае это адрес, поэтому мы могли подключиться по SSH к указанному адресу с помощью PuTTY или другого SSH-клиента, например, с помощью командной строки: ssh [email protected].

Привет!
Это Тарун. Большинству из нас было бы трудно подключиться по SSH к машине VirtualBox. В этой статье я расскажу вам, что такое Virtual Box и как вы можете подключиться к нему по SSH с вашего локального компьютера.

Что такое VirtualBox?

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

Мы все задавались вопросом, есть ли у нас более простой способ доступа к нашим машинам VirtualBox. В этом уроке мы рассмотрим, как вы можете подключиться по SSH к своей машине VirtualBox. Это избавит вас от необходимости открывать графический интерфейс VirtualBox, чтобы делать все. (ага!)

Знаете ли вы, что можете это сделать??

Запуск машины VirtualBox без графического интерфейса | Использовать только с SSH | Любая ОС

Тарун Шив ・ 12 июля 2020 г. ・ 1 минута чтения

Как подключиться к нему по SSH?

Открыть VirtualBox

Нажмите "Настройки" и перейдите в "Сеть"

Вы можете щелкнуть значок "Настройки" или щелкнуть правой кнопкой мыши виртуальную машину и выбрать параметр "Настройки".

Выберите адаптер

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

Выберите переадресацию портов

Откройте дополнительные параметры и нажмите «Переадресация портов». Остальные настройки оставьте по умолчанию.

Добавить новую запись

Нажмите значок + в правом верхнем углу, чтобы добавить новое правило.

Правило

Имя: ssh
Протокол: TCP
Хост-порт: 3022
Гостевой порт: 22
Другие оставьте пустыми

Мы говорим здесь о том, что в основном все подключения к порту 3022 на хост-компьютере перенаправляются на порт 22 на гостевой машине. Если вы не знали, SSH использует порт 2

Готово! Теперь давайте подключим

Откройте терминал и введите

Выйти из полноэкранного режима

Выйти из полноэкранного режима

Введите пароль, под которым вы входите, и все готово

Надеюсь, эта статья помогла. Поставьте лайк этой статье, единорог, и сохраните ее на потом. Поделись с друзьями и расскажи им об этом полезном трюке.

Следующая статья о том, как запустить VirtualBox, не запуская его графический интерфейс. Таким образом, сочетая доступ по SSH и отсутствие графического интерфейса, VirtualBox стал удобным.

Читайте также: