Создание обратного туннеля SSH из устройства Windows 10 IoT Core

505
Lucas Niewohner

У меня довольно открытый вопрос о создании прокси-сервера обратного туннеля SSH из Raspberry Pi 3 под управлением Windows 10 IoT Core.

Моя ситуация не очень сложна - мой интернет (кстати, отстой) использует NAT и не имеет общедоступного IP-адреса, через который могут быть перенаправлены порты. Мне нужен способ подключения моего Raspberry Pi 3 к внешнему миру через SSH через прокси-сервер обратного туннеля. На любом устройстве IoT Core, отличном от Windows 10, это было бы не так уж сложно (просто хорошо сформированная команда терминала SSH, и бум, мы в деле). Однако после нескольких попыток создания обратного туннеля с моего устройства я пришел с пустыми руками.

Для начала, Windows 10 IoT Core не поставляется с каким-либо программным обеспечением SSH, и (насколько я знаю) невозможно установить PuTTY или OpenSSH в свернутой операционной системе. Поправьте меня, если я ошибаюсь - это было бы очень удобным решением, если бы все, что мне нужно было сделать, это установить какое-то программное обеспечение. Я рассмотрел альтернативный метод, который включал создание настраиваемой фоновой задачи (в UWP), которая использовала бы библиотеку SSH (я нашел SSH.NET) для создания туннеля - но здесь я снова оказался в тупике. Возможно, на самом деле возможно использовать этот метод для создания туннеля; У меня очень минимальный опыт такого рода вещей, и вполне возможно, что я пропустил некоторые функции, которые могли бы сделать все это возможным.

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

Спасибо за любые решения, Лукас Невонер

0

1 ответ на вопрос

0
Bder

Я нахожусь здесь в том же положении, довольно серьезная необходимость в обратном туннеле SSH от устройства Windows IoT Core. Из того, что я знаю, на данный момент есть только поддержка SSH Server в IoT Core.

Альтернатива, которая может сработать - мне еще предстоит это проверить - это использовать Powershell для построения обратного туннеля, аналогично настройке, например, здесь . Теоретически, должна быть возможность настроить такой сценарий как задачу с привилегированными правами для достижения требуемой функциональности.

Что касается удаленного управления, Microsoft, похоже, подталкивает вас к выбору решений на основе OMA MDM (например, Microsoft Intune или SCCM) или решения на основе Azure IoT Hub (как описано здесь ). Я - с умеренным энтузиазмом в лучшем случае - смог использовать этот метод для удаленного обновления программного обеспечения и некоторых настроек RPi. Тем не менее, вам нужно установить какой-то TPM (или использовать программный вариант, который, по-видимому, недоступен в производственном образе IoT Core).

Если ваше требование для IoT Core заключается в том, что вы используете пользовательское приложение на основе C # (как у меня), другим неортодоксальным методом может быть использование дистрибутива Linux с Mono, а затем использование проверенного метода обратного SSH 'classis' туннель.

В ближайшем будущем я планирую протестировать концепции и обратного туннеля Powershell, и Linux / Mono, и к тому времени поделюсь любыми результатами.

Удачи, надеюсь, это немного поможет.

С Уважением,

Похожие вопросы