Winscp подключение к виртуальной машине

Обновлено: 06.07.2024

После установки серверного дистрибутива 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 ».

выполнение команды ifconfig

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

переход к настройкам виртуальной машины

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

проброс портов в настройках

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

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

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

проброс портов для ssh

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

подключение к ssh через openssh

подключение к ssh через putty

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

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

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

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

переключение на сетевой мост

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

выполнение команды ifconfig

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

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

подключение к ssh через openssh

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

подключение к ssh через putty

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


Вот основные шаги, которые мы разберем:

создание виртуальной машины в Azure на основе дистрибутива Linux;

размещение веб-приложения на виртуальной машине;

подключение базы данных в виртуальной машине.

Создание виртуальной машины в Azure на основе дистрибутива Linux

Перейдите на портал Azure, найдите вкладку Virtual Machines (Виртуальные машины) и создайте новую машину. В этом процессе есть несколько важных моментов, которые мы подробно рассмотрим ниже.

Общие настройки

Для начала нужно указать подписку, группу ресурсов и параметры нового экземпляра. На этом этапе мы выберем операционную систему (в нашем случае — Ubuntu Server 20.04) и размер виртуальной машины.


Теперь нужно ввести данные учетной записи администратора — имя пользователя и пароль. Это очень важно, чтобы в дальнейшем получить доступ к нашей машине. Здесь нам предлагают выбрать из двух опций — создать открытый ключ SSH (SSH public key) или придумать пароль. Выбрав вариант с паролем, увидим такую форму:



Дальнейшие настройки

Теперь, когда мы указали основную информацию, можно еще раз проверить все параметры и создать машину. В другом сценарии мы также могли бы указать тип жесткого диска (SSD или HDD), конфигурацию сети, балансировку нагрузки, параметры управления самой машиной и расширениями.

Закончив с настройками, запустите процесс создания машины. Это займет несколько минут.

Когда все готово, перейдем в главный раздел Azure и получим открытый IP-адрес, назначенный нашей виртуальной машине.


В его настройках мы можем выбрать опцию Static (статический) — это значит, что IP-адрес не будет меняться во время перезагрузки виртуальной машины. Мы также можем указать DNS для нашего открытого IP-адреса.


Теперь, когда у нас есть виртуальная машина с Ubuntu Server 20.04, размещенная в Azure, мы можем установить с ней удаленное соединение по протоколу SSH (Secure Shell) через консоль управления.

Запустим следующую команду с именем пользователя (которое мы указали при создании ВМ в Azure), IP-адресом или DNS:

Здесь нужно ввести учетные данные для доступа к машине:



Установка Apache

Для установки Apache мы должны ввести следующие команды:

Учитывая, что порт 80 нашей виртуальной машины открыт, мы можем скопировать ее открытый IP-адрес или DNS и запустить их в браузере. Если Apache установлен правильно, мы увидим его стартовую страницу:


Теперь нам понадобятся модули Apache mod_proxy для выполнения функций обратного прокси-сервера:


В открывшемся диалоговом окне создадим новый профиль публикации типа Folder (Папка) и укажем путь к папке для развертывания файлов:


Теперь опубликуем решение из созданного профиля:


В результате наши файлы будут развернуты в указанной папке:


Мы используем их для выполнения следующей операции на виртуальной машине.

Размещение веб-приложения на виртуальной машине

Настройка сервера Apache

Файлы конфигурации в Apache хранятся в каталоге /etc/apache2/conf-enabled . Чтобы подключиться к виртуальной машине по протоколу SSH, нужно создать для нашего веб-приложения файл .conf . Это можно сделать в текстовом редакторе Nano:

Обратите внимание: вы можете задать нужное вам имя файла.

Содержимое нашего файла DotNetApp.conf будет таким:

Помимо этого, в файле конфигурации DotNetApp.conf мы указали, что к нашему приложению можно получить доступ через порт 80. В таком случае мы можем сменить порт, но важно при этом не забыть сделать то же самое в настройках нашей виртуальной машины в Azure.

Копирование файлов приложения на виртуальную машину

Теперь нужно изменить настройки веб-приложения так, чтобы оно стало доступным через порт 80. Для этого мы копируем файлы, развернутые в Visual Studio 2019, на виртуальную машину. Это можно сделать из каталога /var/.

Теперь выполним передачу файлов. В Windows для этого используется программа WinSCP, которая позволяет подключаться к виртуальным машинам.

Завершив установку и инициализацию WinSCP, создадим на виртуальной машине в Azure новый сеанс с нашими учетными данными.


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


Итак, все файлы приложения загружены на виртуальную машину. Далее нужно перенести файлы из каталога /home/azureuser/App в каталог /var/DotNetApp .

Теперь наше веб-приложение полностью размещено на виртуальной машине.


Создание службы для запуска приложения и контроля его работы

Чтобы создать файл службы, который позволит запускать наше веб-приложение, откроем редактор Nano:

В содержимом файла укажем рабочий каталог и файл для запуска веб-приложения.

Запустим созданную службу.

Используя атрибут status , мы можем проверить ее текущее состояние.


Теперь перезапустим сервер Apache и убедимся, что наше приложение работает через порт 80.



Подключение базы данных в виртуальной машине

Для установки PostgreSQL введем следующие команды:

Далее в настройках виртуальной машины в Azure нужно открыть порт 5432 для удаленного доступа к PostgreSQL.


Теперь на Ubuntu Server мы должны внести изменения в файл pg_hba.conf, чтобы разрешить удаленное подключение к PostgreSQL.

Пропишем в секции IPv4 local connections файла pg_hba.conf следующую строку:

Еще один файл, в который мы должны внести изменения, называется postgresql.conf. Эта конфигурация определяет, какие IP-адреса могут удаленно подключаться к PostgreSQL.

Теперь перезапустим службу базы данных.

Установив эти настройки, мы можем создать пользователя для доступа к базе данных, как в этом примере:


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


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

Чтобы эти изменения вступили в силу, нужно заменить файлы в каталоге /var/DotNetApp на другие, с новой конфигурацией, и перезапустить соответствующие службы (Kestrel и Apache).

Спасибо за внимание

Спасибо, что прочитали эту статью. Надеюсь, она показалась вам интересной и полезной. Если у вас появились вопросы или идеи, которыми хочется поделиться, я всегда открыт для общения, участия в совместных проектах и обмена опытом.

Как передавать файлы между гостевой виртуальной машиной и хост-компьютером

Использование виртуальной машины может значительно повысить вашу производительность. Но часто возникает проблема: копировать текст или файлы с главного компьютера на гостевой компьютер или наоборот.

Дело в том, что это не так сложно, как кажется на первый взгляд. Вот как можно передавать файлы между гостевой операционной системой вашей виртуальной машины и хост-ПК, используя VirtualBox или VMware.

Как вы можете обмениваться данными между хост-компьютером и виртуальной машиной

Обмен данными с USB на виртуальной машине

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

Наше руководство по виртуальным машинам объясняет это более подробно.

Вы не будете удивлены вариантами обмена данными между хост-компьютером и любой гостевой операционной системой, работающей на виртуальной машине. Что может вас удивить, так это то, как сложно их настроить. Ваши варианты:

  • Скопировать и вставить
  • USB-накопитель
  • Сетевой ресурс

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

Ниже мы рассмотрим обмен данными с помощью этих трех методов на виртуальных машинах. работая на Oracle VirtualBox и VMware Workstation Player.

Копировать и вставить данные

Самый простой вариант — скопировать данные с хост-компьютера и вставить их в окно гостевой виртуальной машины. Или скопируйте с гостевой виртуальной машины и в открытый файловый браузер на хосте. Но так ли просто, как кажется?

К счастью, да, это так.

Скопируйте и вставьте данные в VirtualBox

Если вы используете VirtualBox, при работающей виртуальной машине выберите « Устройства»> «Перетаскивание» . Здесь вы можете выбрать между Host to Guest, Guest to Host и Двунаправленным. Также есть опция по умолчанию, Отключено. Для достижения наилучших результатов используйте двунаправленный .

Это все, что нужно сделать.

Как копировать и вставлять данные в VMware

Пользователям VMware необходимо сначала установить пакет VMware Tools, который предоставляет дополнительные функции. Вы можете начать это через VM> Install VMware Tools . Если вы еще не загрузили VMware Tools, вам будут даны инструкции для этого.

Затем вы можете включить копирование и вставку в ВМ> Настройки > Параметры . Выберите гостевую изоляцию , затем включите копирование и вставку и подтвердите, нажав OK .

Такой способ обмена данными между гостевой и хост-операционной системами лучше всего подходит для небольших файлов. Вы также можете поделиться текстовыми строками, URL-адресами и тому подобное. Держитесь подальше от больших файлов — у вас есть другие варианты для них.

Флешка

Использование USB-накопителя для передачи данных между двумя физическими машинами — давняя традиция. Флэш-накопители USB по сути заменили 3,5-дюймовые дискеты в начале 2000-х годов.

Но как вы можете использовать USB-накопитель для обмена данными между виртуальной машиной и хост-компьютером?

Делитесь файлами с USB-накопителя в VirtualBox

После этого вставьте USB-устройство, которое хотите использовать. Затем откройте VirtualBox и нажмите « Файл»> «Настройки» , затем « Расширения» и нажмите « +» . Перейдите к загруженному пакету расширений, нажмите « Открыть» , а затем при появлении запроса установите . Следуйте инструкциям, чтобы завершить процесс. Затем вы можете проверить, что USB включен в меню «Настройки»> «USB» .

Проверьте поддержку USB в VirtualBox

С добавленной поддержкой USB вам нужно будет ее включить. В главном окне VirtualBox щелкните правой кнопкой мыши виртуальную машину, которую хотите использовать, и выберите « Настройки»> « USB» . Нажмите +, затем найдите устройство USB. Он будет доступен при запуске виртуальной машины. Дополнительные диски могут быть добавлены таким же образом.

Копирование файлов с USB в VMware

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

Это просто, но может запутаться, если вы забудете, к какой операционной системе подключен USB-накопитель.

Этот вариант лучше всего подходит для больших файлов. Конечно, вы ограничены емкостью устройства USB, так что имейте это в виду. Какое бы программное обеспечение VM вы ни использовали, безопасное извлечение USB-устройств рекомендуется как на хост-компьютере, так и на гостевой виртуальной машине.

Создать общий диск

Третий вариант — настроить сетевой ресурс на хост-компьютере, к которому может обращаться гостевая виртуальная машина. Это означает, что часть жесткого диска вашего компьютера должна быть доступна по локальной сети. С этой настройкой виртуальная машина может затем подключиться к сети и получить доступ к диску.

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

Создать общий доступ в VirtualBox

Вы должны были уже загрузить гостевые дополнения VirtualBox. Это должно быть установлено через Устройства> Установить гостевые дополнения , где вы должны найти соответствующий EXE-файл. Следуйте инструкциям до конца, выбрав параметры по умолчанию, затем нажмите «Готово» .

Запустите VirtualBox и откройте Устройства> Общие папки> Настройки общих папок . Нажмите «+», затем в « Путь к папке» щелкните стрелку и выберите « Другое» . Найдите (ОС хоста) папку, которую вы используете в качестве общего ресурса, выделите ее, затем выберите «Папка» .

Совместное использование папок между хост-ОС и гостевыми виртуальными машинами

В окне «Добавить общий ресурс» присвойте общему ресурсу имя (при этом рекомендуется использовать то же имя в гостевой ОС, что и в основной ОС). Проверьте Авто-монтирование и сделайте постоянным , затем ОК .

В гостевой ОС вы найдете общий ресурс, настроенный в обычном месте для сетевых ресурсов. Например, в Windows 10 это будет в разделе «Расположение сети» в проводнике Windows.

Совместное использование сетевого диска в VMWare

Общий доступ к данным через диск включен в VMware по умолчанию. Все, что вам нужно сделать, это выполнить обычные для конкретной ОС шаги, чтобы настроить сетевой ресурс. Например, если вы работали с Windows в качестве хоста, а Linux в качестве гостевой ОС, выполните следующие действия для обмена файлами между Windows и Linux. обмениваться файлами между Windows и Linux обмениваться файлами между Windows и Linux.

Это будет работать для Windows, Linux и BSD.

Обратите внимание, что общий доступ к папкам недоступен в бесплатном VMware Player.

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

Обмен данными для максимизации производительности виртуальных машин

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

Изучение того, как обмениваться данными между виртуальной машиной и хост-ОС, поможет значительно повысить эффективность использования вашей виртуальной машины. Эти советы по повышению производительности виртуальных машин. советов по повышению производительности виртуальных машин. советов по повышению производительности также поможет.

WinSCP – многофункциональный графический FTP-клиент, который поддерживает передачу данных через распространённые протоколы:

  • SFTP (SSH File Transfer Protocol);
  • SCP (Secure Copy Protocol);
  • FTP (File Transfer Protocol);
  • WebDAV;
  • Amazon S3.

Бесплатно скачать WinSCP можно с официального сайта.

как пользоваться программой WinSCP - описание

Технические характеристики

Операционная система: Windows 10/8/7/Vista/XP.
Поддержка русского языка: Есть.
Технические требования: SSH-сервер с поддержкой SFTP/SCP / FTP-сервер / WebDAV-сервер.
Лицензия: Бесплатная.

Особенности программы WinSCP

  • Отправка проверочных пакетов серверу для поддержания целостности соединения.
  • Встроенный текстовый редактор и командная строка.
  • Редактирование файлов на сервере в режиме реального времени, без загрузки на устройство.
  • Встроенная командная строка.
  • Интеграция с программой Putty.
  • Сохранение данных авторизации, использованных для подключения к серверу (хост, логин и пароль).
  • Возможность создания нескольких соединений.
  • Работа на переносном носителе, без установки программы в систему.
  • Сохранение и перенос настроек программы в формате INI (.ini).

Основной функционал WinSCP

О работе с основным функционалом далее будет кратко рассказано на примере ОС Windows 10. Для остальных операционных систем семейства Windows действия аналогичны.

Более развернутые инструкции о том, как пользоваться WinSCP можно найти в официальной документации программного продукта.

Добавление нового подключения

Подключиться к серверу через WinSCP можно по следующему алгоритму:

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

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

Особенность WinSCP – встроенная командная строка, которая позволяет управлять удалённым сервером. Открыть консоль можно следующим способом:

Включение отображения скрытых файлов

Теперь программа будет отображать скрытые файлы полупрозрачным цветом.

Управление параметрами WinSCP

Все настройки программа WinSCP хранит в реестре.

Путь к настройкам в реестре для Windows 10: HKEY_LOCAL_MACHINE/Software/Martin Prikryl/WinSCP 2.

WinSCP поддерживает экспорт/импорт параметров в файл INI (.ini). Это позволяет перенести настройки в программу WinSCP, установленную на другом устройстве или создать бэкап настроек для восстановления, в случае потери данных.

Экспорт параметров WinSCP

Включение отображения скрытых файлов

  1. На главной странице WinSCP нажать «Новое подключение».
  2. Открыть вкладку инструменты и нажать «Экспорт/сохранение настроек».
  3. Откроется окно проводника. Нужно выбрать папку, в которую будет сохранён INI (.ini) файл с настройками и нажать «ОК».

Импорт параметров WinSCP

  1. На главной странице WinSCP нажать «Новое подключение».
  2. Открыть вкладку инструменты и выбрать «Импорт/восстановление настроек».
  3. Появится окно с предупреждением. Для продолжения нужно нажать «ОК».
  4. Далее откроется окно проводника. Для восстановления параметров нужно перейти в директорию с резервной копией настроек WinSCP, выбрать INI (.ini) файл и нажать «Открыть».

По умолчанию программа хранит настройки по пути: C:\Users\Имя_Пользователя\Documents\ .

Аналоги для Linux

Если требуется подключиться к серверу с операционной системы Linux, то вместо WinSCP можно рассмотреть альтернативные FTP-клиенты.

CrossFTP

 crossftp

Операционная система: Linux, Windows, MacOS и др.
Поддерживаемые протоколы: FTP, FTPS, SFTP, FXP, WebDav, Amazon S3, Amazon Glacier, Microsoft Azure, Google Storage и OpenStack Swift.
Поддержка русского языка: Нет.
Лицензия: Бесплатная. Есть платная версия с расширенными возможностями.

CrossFTP отсутствует в официальных репозиториях Linux. Установка производится путём скачивания и запуска инсталлятора.

FileZilla

FileZilla - общий вид

Операционная система: Linux, Windows, MacOS и др.
Поддерживаемые протоколы: FTP, SFTP, FTPS.
Поддержка русского языка: Есть.
Лицензия: Бесплатная.

Установка на Ubuntu/Debian из официальных репозиториев выполняется командой:

Установка на CentOS из Epel-репозиториев выполняется командами:

Инсталлятор FileZilla можно скачать с официальной страницы загрузок.

gftp

Установка на Ubuntu/Debian из официальных репозиториев выполняется командой:

Установка в CentOS из Epel-репозиториев выполняется командами:

Сборки и исходный код программы GFTP можно найти на официальной странице GitHub.

Krusader

Krusader

Операционная система: Linux, Windows (Beta-стадия), MacOS и др.
Поддерживаемые протоколы: FTP, SAMBA, SFTP, SCP.
Поддержка русского языка: Есть.
Лицензия: Бесплатная.

Установка на Ubuntu/Debian из официальных репозиториев выполняется командой:

Установка в CentOS из Epel-репозиториев выполняется командами:

Сборки Krusader можно скачать с официальной страницы загрузок.

Заключение

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

Более развернутые инструкции о том, как пользоваться WinSCP можно найти в официальной документации программного продукта.

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