Как подключиться через putty к виртуальной машине
Проброс портов в 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.
Настройка проброса портов в 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).
Описание колонок таблицы с правилами:
После заполнения таблицы с правилом, нажимаем «ОК».
Шаг 6
На этом настройка проброса портов закончена, теперь мы можем проверить работу данного правила (проброса). Для этого сначала запускаем виртуальную машину с Ubuntu Server, а затем программу PuTTY. На вкладке Session выбираем тип соединения SSH и в поле Host Name пишем локальный адрес компьютера (хоста), которой мы указывали в колонке «IP хоста» в правилах проброса портов, если ничего не указывали, то пишите 127.0.0.1. В поле порт указываем номер порта, который мы указывали в колонке «Порт хоста», т.е. 2222. Нажимаем кнопку «Open».
Если после этого Вы получили приглашение на ввод логина, то это значит, что подключение работает, и Вы, соответственно, можете вводить учетные данные от гостевой операционной системы.
У меня на этом все, надеюсь, материал был Вам полезен, пока!
Подключение к локальной виртуальной машине 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 терминал:
У этого способа, несмотря на его большую аутентичность, есть свои минусы. Во-первых многие из них унаследованы от обычного использования виртуализации (например, падение производительности). Во-вторых, будет присутствовать небольшая задержка в записи изменений на виртуальный диск (вимерам может не понравится). Ну и в-третьих, некоторые виртуальные машины умеют видеть файлы с родной системы, но из командной строки это сложнее настроить и вам придётся пользоваться окном самой виртуальной машины, что накладывает ряд ограничений.
Напоследок хочу упомянуть, что несколько идей было взято с этого сайта.
Подключение к серверу через Putty: примеры использования
Сейчас читают:
Содержание
Применение и возможности PuTTY
PuTTY — программа, которая позволяет установить соединение с удаленным сервером или компьютером. Программу можно также применять для реализации следующих целей:
Работать рекомендуется через SSH, поскольку он обеспечивает высокий уровень безопасности соединения с другим компьютером. PuTTY поддерживает Telnet, реализующий текстовый интерфейс в терминале (только для отображения текстовой информации в режиме консоли).
Возможности программы
Установка на Windows
Работа с программой
Интерфейс
Соединение с удаленным сервером
Принцип подключения не зависит от операционной системы. Это могут быть разные версии Windows (7, 10) или популярные дистрибутивы на основе Linux — Ubuntu, CentOS, Debian.
Подключиться по SSH через PuTTY просто. Для этого нужно следовать приведенной ниже инструкции.
После этого работа с терминалом осуществляется, как на локальном компьютере. Чтобы узнать информацию о версии Ubuntu, нужно ввести команду:
Для удобства можно создать жесткую ссылку (ярлык) на программу для быстрого запуска.
Использование SSH-ключей
Шаг №1
Для начала, нужно выполнить ряд действий на компьютере с ОС Windows.
Шаг №2
Далее необходимо перенести SSH-ключ на сервер Ubuntu, выполнив перечисленные ниже действия.
Шаг №3
Возвращаемся к программе PuTTY на Windows 10.
Работа с файлами
Если для соединения используется нестандартный порт (например, 25), то команда примет вид:
Скачать файл через PuTTY с сервера « 192.241.7.16 » в текущую папку можно с помощью команды:
Распространенные ошибки
Проблемы с аутентификацией
PuTTY выдает при подключении сообщение: « Access denied». Это указывает на отказ в доступе, причиной которого являются ошибки при вводе логина или пароля.
Если соединение с удаленным сервером происходит при помощи SSH-ключа, то PuTTY выдаст в диалоговом окне такие строки:
Причины ошибки
Ошибка « Access denied » связана с некорректной аутентификацией на основе ключей. Вызвать ее может отсутствие соответствующих прав доступа к файлам или невозможность подтвердить права владельца.
Как решить
Подробнее о том, как создать удаленное соединение для разных дистрибутивов Linux, можно узнать из отдельных руководств:
Ошибка подключения
При истекшем времени подключения или отказе в соединении PuTTY выдаст сообщения « Network error: Connection timed out » и « Network error: Connection refused » соответственно.
Причины ошибки
Как решить
Начни экономить на хостинге сейчас — 14 дней бесплатно!
Как по 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 подключение к моему серверу и перепробовав многочисленные ответы на разных сайтах я выбрал именно этот, поэтому получится может не у каждого (смотря какие руки).
Если есть замечания или вопросы прошу отписать в комментариях.
Как подключиться к виртуальной машине 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 статей о ремонте компьютеров, работе с программами, настройке операционных систем.
Задайте вопрос в комментариях под статьей или на странице «Задать вопрос» и вы обязательно получите ответ.