- Подключение к целевой системе Linux из Visual Studio
- Настройка сервера SSH в удаленной системе
- Настройка удаленного подключения
- Проверка ключа узла
- Поддерживаемые алгоритмы SSH
- Настройка сервера SSH
- приступая к работе с Visual Studio Code с подсистема Windows для Linux
- установка VS Code и расширения Remote WSL
- Обновление дистрибутива Linux
- Откройте проект WSL в Visual Studio Code
- Из командной строки
- Из VS Code
- расширения в VS Code Remote
- Установка Git (необязательно)
- Установка Терминала Windows (необязательно)
- Дополнительные ресурсы
Подключение к целевой системе Linux из Visual Studio
Поддержка Linux реализована в Visual Studio версии 2017 и выше.
Вы можете настроить проект Linux для использования на удаленном компьютере или в подсистеме Windows для Linux (WSL). Для работы на удаленных компьютерах и в WSL необходимо настроить в Visual Studio 2017 удаленное подключение к ним.
Вы можете настроить проект Linux для использования на удаленном компьютере или в подсистеме Windows для Linux (WSL). Для работы на удаленном компьютере необходимо настроить в Visual Studio удаленное подключение к нему. Сведения о подключении к WSL см. в разделе Подключение к WSL.
При использовании удаленного подключения Visual Studio создает проекты Linux C++ на удаленном компьютере. Неважно, является ли он физическим компьютером, виртуальной машиной в облаке или WSL. Для сборки проекта Visual Studio копирует исходный код на удаленный компьютер Linux. Затем код компилируется в соответствии с параметрами Visual Studio.
Visual Studio 2019 версии 16.5 и более поздних версий также поддерживает безопасные совместимые с FIPS 140-2 криптографические подключения к системам Linux для удаленной разработки. Чтобы использовать FIPS-совместимое подключение, выполните действия, описанные в статье Set up FIPS-compliant secure remote Linux development (Настройка совместимой с FIPS безопасной удаленной разработки для Linux).
Настройка сервера SSH в удаленной системе
Если ssh еще не настроен и не запущен в вашей системе Linux, выполните следующие действия по его установке. В примерах в этой статье используется Ubuntu 18.04 LTS с сервером OpenSSH версии 7.6. Для всех дистрибутивов с относительно недавней версией OpenSSH следует придерживаться одинаковых инструкций.
В системе Linux установите и запустите сервер OpenSSH.
Чтобы сервер SSH автоматически запускался при загрузке системы, выполните команду systemctl.
Настройка удаленного подключения
Чтобы в Visual Studio открыть диалоговое окно Параметры, в строке меню выберите Сервис > Параметры. Затем выберите Кроссплатформенный > Диспетчер подключений, чтобы открыть диалоговое окно диспетчера подключений.
Если подключение в Visual Studio не было настроено ранее, это диалоговое окно откроется при первом создании проекта.
В диалоговом окне диспетчера подключений нажмите кнопку Добавить, чтобы добавить новое подключение.
В любом сценарии отображается окно Подключение к удаленной системе.
Введите следующую информацию.
Ввод | Описание |
---|---|
Имя узла | Имя или IP-адрес целевого устройства |
Порт | Порт, в котором работает служба SSH, обычно 22 |
Имя пользователя | Пользователь для проверки подлинности |
Тип проверки подлинности | Поддерживается и пароль, и закрытый ключ |
Пароль | Пароль для указанного имени пользователя |
Файл закрытого ключа | Закрытый ключ, созданный для подключения по SSH |
Парольная фраза | Парольная фраза, используемая с закрытым ключом, выбранным выше |
Вы можете использовать для проверки подлинности пароль или файл ключа с парольной фразой. Для многих сценариев разработки вполне достаточно проверки подлинности на основе пароля, но файлы ключей более надежны. Если у вас уже есть пара ключей, ее можно использовать повторно. Сейчас для удаленных подключений Visual Studio поддерживает только ключи RSA и DSA.
Нажмите кнопку Подключить, чтобы попытаться подключиться к удаленному компьютеру.
Если соединение будет установлено успешно, Visual Studio настроит IntelliSense для использования удаленных заголовков. Подробнее см. раздел об использовании IntelliSense для заголовков в удаленных системах.
Если подключение установить не удастся, будут выделены красным цветом поля, информацию в которых нужно изменить.
Если вы используете для аутентификации файлы ключей, убедитесь, что сервер SSH на целевом компьютере работает и настроен правильно.
Проверка ключа узла
В Visual Studio версии 16.10 или более поздней при первом подключении Visual Studio к удаленной системе будет предложено проверить отпечаток ключа узла сервера. Вам этот процесс может быть уже знаком, если вы уже ранее использовали клиент командной строки OpenSSH или PuTTY. Отпечаток определяет сервер. Visual Studio использует отпечаток, чтобы убедиться, что подключение выполняется к предполагаемому и доверенному серверу.
В первый раз, когда Visual Studio устанавливает новое удаленное подключение, вам будет предложено принять или отклонить отпечаток ключа узла, представленный сервером. Или в любое другое время, когда кэшированный отпечаток меняется. Можно также проверить отпечаток по запросу, выбрав подключение в диспетчере подключений и нажав Проверить.
При обновлении Visual Studio с более ранней версии до 16.10 или более поздней версии все существующие удаленные подключения будут рассматриваться как новые. Сначала вам будет предложено принять отпечаток ключа узла. После этого Visual Studio устанавливает соединение и кэширует принятый отпечаток.
Также можно обновить удаленные подключения из ConnectionManager.exe с помощью аргумента update .
Поддерживаемые алгоритмы SSH
Начиная с Visual Studio версии 16.9, была удалена поддержка старых и незащищенных алгоритмов SSH, используемых для шифрования данных и обмена ключами. Поддерживаются только следующие алгоритмы. Они поддерживают обмен данными как в направлении «клиент-сервер», так и в направлении «сервер-клиент» по протоколу SSH:
Тип алгоритма | Поддерживаемые алгоритмы |
---|---|
Шифрование | aes128-cbc aes128-cbc aes192-cbc aes192-ctr aes256-cbc aes256-ctr |
Код проверки подлинности сообщений с помощью хэш-функций | hmac-sha2-256 hmac-sha2-256 |
обмена ключами; | diffie-hellman-group14-sha256 diffie-hellman-group16-sha512 diffie-hellman-group-exchange-sha256 ecdh-sha2-nistp256 ecdh-sha2-nistp384 ecdh-sha2-nistp521 |
Ключ узла | ecdsa-sha2-nistp256 ecdsa-sha2-nistp384 ecdsa-sha2-nistp521 ssh-dss ssh-rsa |
Настройка сервера SSH
Сначала немного теории. Вам не удастся выбрать алгоритм SSH для использования в Visual Studio. Алгоритм определяется во время первоначального подтверждения с помощью сервера SSH. Каждая сторона (клиент и сервер) предоставляет список поддерживаемых алгоритмов, а затем выбирается первый алгоритм, общий для обоих. Соединение будет работать, если имеется хотя бы один алгоритм, общий для Visual Studio и сервера для шифрования, HMAC, обмена ключами и т. д.
Открытый файл конфигурации SSH ( sshd_config ) не определяет, какой алгоритм использовать по умолчанию. Если алгоритмы не указаны, сервер SSH должен использовать безопасные значения по умолчанию. Эти значения по умолчанию зависят от версии и поставщика сервера SSH. Если Visual Studio не поддерживает эти значения по умолчанию, скорее всего, появится сообщение об ошибке: «Не удалось подключиться к удаленной системе. Не найден алгоритм HMAC, общий для клиента и сервера». Эта ошибка также может возникать в том случае, когда сервер SSH настроен для использования алгоритмов, которые не поддерживаются в Visual Studio.
В большинстве современных дистрибутивов Linux сервер SSH должен работать в среде с Visual Studio. Возможно, вы используете более старый сервер SSH, который настроен на использование старых и незащищенных алгоритмов. В следующем примере показано, как выполнить обновление до более безопасных версий.
В следующем примере сервер SSH использует небезопасный алгоритм hmac-sha1 , который не поддерживается в Visual Studio 16.9. Если сервер SSH использует OpenSSH, можно внести изменения в файл /etc/ssh/sshd_config , как показано ниже, чтобы включить более защищенные алгоритмы. Дополнительные сведения о настройке других серверов SSH см. в документации по серверу.
Во-первых, убедитесь, что набор алгоритмов, используемых сервером, включает алгоритмы, поддерживаемые Visual Studio. На удаленном компьютере выполните следующую команду, чтобы перечислить алгоритмы, поддерживаемые сервером:
Код создает следующие выходные данные:
Перечисляются все алгоритмы шифрования, HMAC, обмена ключами и алгоритмы ключей узла, поддерживаемые сервером SSH. Если в этом списке не указаны алгоритмы, поддерживаемые Visual Studio, обновите сервер SSH, прежде чем продолжать работу.
Включить алгоритмы, поддерживаемые Visual Studio, можно путем изменения /etc/ssh/sshd_config на удаленном компьютере. В следующих примерах показано, как добавить различные типы алгоритмов в этот файл конфигурации.
Эти примеры можно добавить в любое место в /etc/ssh/sshd_config Убедитесь, что они находятся в отдельных строках.
После редактирования файла перезапустите сервер SSH ( sudo service ssh restart в Ubuntu) и попробуйте снова подключиться из Visual Studio.
Источник
приступая к работе с Visual Studio Code с подсистема Windows для Linux
Visual Studio Code, вместе с расширением Remote-WSL, позволяет использовать WSL в качестве среды разработки для полной времени непосредственно из VS Code. Вы можете выполнить следующие действия:
- Разработка в среде под управлением Linux
- Использование цепочек инструментов и служебных программ для Linux
- запускайте и отлаживать приложения Linux с помощью Windows и сохраняя доступ к средствам повышения производительности, таким как Outlook и Office
- использование встроенного терминала VS Code для запуска дистрибутива Linux по выбору
- воспользуйтесь преимуществами VS Code функций, таких как завершение кода Intellisense, linting, поддержка отладки, фрагменты кодаи модульное тестирование .
- простота управления версиями с помощью встроенной поддержки Git VS Code
- выполнение команд и VS Code расширений непосредственно в проектах WSL
- изменение файлов в Linux или смонтированной Windows файловой системе (например,/мнт/к) без беспокойства о проблемах с путями, двоичной совместимости или других трудностей между операционными системами
установка VS Code и расширения Remote WSL
перейдите на страницу установки VS Code и выберите двоичный установщик 32 или 64. установите Visual Studio Code на Windows (а не в файловую систему WSL).
При появлении запроса на Выбор дополнительных задач во время установки обязательно установите флажок Добавить в путь , чтобы можно было легко открыть папку в WSL с помощью команды Code.
Установите Пакет расширений для удаленной разработки. Этот пакет расширений включает расширение Remote-WSL в дополнение к расширениям Remote-SSH и Remote-Container, что позволяет открывать любую папку в контейнере, на удаленном компьютере или в WSL.
Чтобы установить расширение Remote-WSL, потребуется версия 1,35 или более поздняя VS Code. не рекомендуется использовать WSL в VS Code без расширения Remote-WSL, так как будет потеряна поддержка автоматического завершения, отладки, linting и т. д. Забавный факт. это расширение WSL устанавливается в $HOME/.вскоде/екстенсионс (введите команду ls $HOME\.vscode\extensions\ в PowerShell).
Обновление дистрибутива Linux
в некоторых дистрибутивах WSL Linux отсутствуют библиотеки, необходимые для запуска сервера VS Code. Вы можете добавить дополнительные библиотеки в дистрибутив Linux с помощью диспетчера пакетов.
Например, чтобы обновить Debian или Ubuntu, используйте:
Чтобы добавить wget (для получения содержимого с веб-серверов) и CA-Certificates (чтобы разрешить приложениям на основе SSL проверять подлинность SSL-соединений), введите:
Откройте проект WSL в Visual Studio Code
Из командной строки
Чтобы открыть проект из дистрибутива WSL, откройте командную строку распространения и введите: code .
Из VS Code
кроме того, можно получить доступ к дополнительным VS Code удаленным параметрам с помощью ярлыка: CTRL+SHIFT+P в VS Code, чтобы открыть палитру команд. если затем ввести, Remote-WSL вы увидите список доступных VS Code удаленных параметров, что позволит повторно открыть папку в удаленном сеансе, указать, какое распространение следует открыть в, и многое другое.
расширения в VS Code Remote
расширение Remote-WSL разделяет VS Code в архитектуру «клиент-сервер» с помощью клиента (пользовательского интерфейса), работающего на компьютере Windows, и сервера (код, Git, подключаемые модули и т. д.), запускаемые удаленно.
при запуске VS Code удаленно на вкладке «расширения» отобразится список расширений, разделенных между локальным компьютером и дистрибутивом WSL.
Установка локального расширения, например темы, должна быть установлена только один раз.
Некоторые расширения, такие как расширение Python или все, что обрабатывает такие действия, как linting или Отладка, должны устанавливаться отдельно на каждом удаленном распределении WSL. VS Code отобразит значок предупреждения ⚠ , а также зеленую кнопку «установить в WSL», если установлено локальное расширение, которое не установлено на удаленном компьютере WSL.
дополнительные сведения см. в VS Code документах:
при запуске VS Code Remote в WSL сценарии запуска оболочки запускаться не будут. Дополнительные сведения о выполнении дополнительных команд или изменении среды см. в этой статье о сценариях расширенной настройки среды .
возникли проблемы при запуске VS Code из командной строки WSL? В этом руководство по устранению неполадок содержатся советы по изменению переменных пути, устранению ошибок расширения, связанных с отсутствием зависимостей, устранению проблем с завершением строк Git, установке локального VSIX на удаленном компьютере, запуску окна браузера, порту localhost для блокировки, веб-сокеты не работают, ошибки при хранении данных расширения и многое другое.
Установка Git (необязательно)
Если вы планируете работать совместно с другими пользователями или размещать проект на сайте с открытым исходным кодом (например, GitHub), примите во внимание, что VS Code поддерживает управление версиями с помощью Git. Вкладка системы управления версиями в VS Code отслеживает все изменения и содержит общие команды Git (добавление, фиксация, принудительная отправка, извлечение) прямо в пользовательском интерфейсе.
Установка Терминала Windows (необязательно)
новая Терминал Windows включает несколько вкладок (быстро переключаться между дистрибутивами командной строки, PowerShell или несколькими установочными областями Linux), пользовательскими привязками клавиш (создайте собственные сочетания клавиш для открытия и закрытия вкладок, копирования и вставки и т. д.), эмодзи ☺ и пользовательских тем (цветовые схемы, стили и размеры шрифтов, фоновое изображение, размытие и прозрачность). дополнительные сведения см. в Терминал Windows документах.
Скачайте Терминал Windows из Microsoft Store: При установке через магазин обновления выполняются автоматически.
После установки откройте Терминал Windows и щелкните Параметры, чтобы настроить Терминал использовать файл profile.json .
Дополнительные ресурсы
К дополнительным рекомендуемым расширениям относятся следующие:
- Раскладки клавиатуры других редакторов — эти расширения позволят использовать необходимую раскладку при переходе в другой текстовый редактор (например, Atom, Sublime, Vim, eMacs, Notepad++ и т. п.).
- Расширение синхронизации параметров — позволяет синхронизировать параметры VS Code в разных установках, используя GitHub. Если вы работаете на разных компьютерах, это обеспечит согласованность среды между ними.
- Отладчик для Chrome: после завершения разработки на стороне сервера с Linux необходимо разработать и протестировать клиентскую часть. Это расширение интегрирует редактор VS Code со службой отладки браузера Chrome, что увеличивает эффективность выполнения операций.
—>
Источник