Crie um túnel SSH reverso a partir do dispositivo Windows 10 IoT Core

0

Eu tenho uma pergunta relativamente aberta sobre a criação de um proxy de encapsulamento reverso SSH de um Raspberry Pi 3 que executa o Windows 10 IoT Core.

Minha situação não é muito complexa - minha internet (que é uma porcaria, por sinal) usa o NAT e não possui um endereço IP voltado ao público pelo qual as portas possam ser encaminhadas. Eu preciso de uma maneira de conectar meu Raspberry Pi 3 ao mundo externo, via SSH, através de um proxy de túnel reverso. Em qualquer dispositivo não-Windows 10 IoT Core, não seria tão complicado (apenas um comando de terminal SSH bem formado, e boom, estamos no negócio). No entanto, depois de várias tentativas de criar um túnel reverso do meu dispositivo, cheguei de mãos vazias.

Para começar, o Windows 10 IoT Core não vem com nenhum software SSH e (até onde eu sei) não é possível instalar o PuTTY ou o OpenSSH no sistema operacional minimizado. Corrija-me se estiver errado - seria uma resolução muito conveniente se tudo o que tivesse de fazer fosse instalar algum software. Eu considerei um método alternativo, que envolvia a criação de uma tarefa em segundo plano personalizada (em UWP) que usaria uma biblioteca SSH (encontrei o SSH.NET) para criar um túnel - mas aqui, novamente, fiquei perplexo. Talvez seja realmente possível usar esse método para criar o túnel; Eu sou muito pouco experiente com esse tipo de coisa, e é totalmente possível que eu tenha perdido alguns recursos que poderiam tornar isso tudo possível.

Devido à minha significativa falta de experiência nessa categoria, não consegui concluir nenhum desses métodos com sucesso e, até agora, não consegui encontrar outra alternativa. Por isso, recorri a abrindo esta questão para o mundo. Eu entendo que esta questão é provavelmente subjetiva (provavelmente há um conjunto completo de métodos para completar esta tarefa), mas no momento, nada parece existir na internet para respondê-la.

Obrigado por qualquer solução, Lucas Niewohner

    
por Lucas Niewohner 13.02.2018 / 15:44

1 resposta

0

Estou na mesma posição aqui, uma necessidade bastante séria de um túnel SSH reverso de um dispositivo Windows IoT Core. Pelo que sei, há apenas suporte ao SSH Server no IoT Core até o momento.

Uma alternativa que pode funcionar - eu ainda tenho que testar isso - é usar o Powershell para construir um túnel reverso, similar à configuração por exemplo aqui . Em teoria, deve ser possível configurar como script uma tarefa com direitos privilegiados para obter a funcionalidade necessária.

No que diz respeito ao gerenciamento remoto, a Microsoft parece levá-lo à direção das soluções baseadas no MDM do OMA (Microsoft Intune ou SCCM, por exemplo) ou da solução baseada no Azure IoT Hub (conforme descrito here ). Eu tenho - com um entusiasmo moderado no máximo - sido capaz de usar este método para atualizar remotamente o software e algumas das configurações do RPi. No entanto, você precisará ter algum tipo de TPM instalado (ou usar a variante simulada do software, que parece não estar disponível em uma imagem do IoT Core construída para produção).

Se sua exigência do IoT Core é que você está usando um aplicativo personalizado baseado em C # (como é o caso para mim), outro método não ortodoxo pode ser usar uma distribuição Linux com Mono e, em seguida, use o método comprovado de um túnel SSH reverso 'classis'.

Eu planejo testar o túnel reverso Powershell e os "conceitos" Linux / Mono em um futuro próximo e compartilharei todos os resultados até então.

Boa sorte, espero que isso forneça um pouco de ajuda.

Atenciosamente,

    
por 27.05.2018 / 10:49