0

I have a fairly open-ended question about creating an SSH reverse tunnel proxy from a Raspberry Pi 3 running Windows 10 IoT Core.

My situation isn't enormously complex - my internet (which sucks, by the way) uses NAT, and has no public-facing IP address that ports could be forwarded through. I need a way to connect my Raspberry Pi 3 to the outside world, via SSH, through a Reverse Tunnel Proxy. On any non-Windows 10 IoT Core device, it wouldn't be all that complicated (just a nicely-formed SSH terminal command, and boom, we're in business). However, after several attempts at creating a reverse tunnel from my device, I've come up empty-handed.

For starters, Windows 10 IoT Core doesn't come with any SSH software, and (as far as I'm aware) it's not possible to install PuTTY or OpenSSH on the minimized operating system. Correct me if I'm wrong on this - it would be a very convenient resolution if all I had to do was install some software. I considered an alternate method, which involved creating a custom background task (in UWP) that would use an SSH library (I found SSH.NET) to create a tunnel - but here again, I was stumped. Perhaps it is actually possible to use this method to create the tunnel; I'm very minimally experienced with this sort of stuff, and it's entirely possible I missed some feature that could make this all possible.

Because of my significant lack of experience in this category, I've been unable to successfully complete either of these methods, and as yet I've been unable to come up with another alternative, which is why I've resorted to opening this question up to the world. I understand that this question is probably subjective (there are likely a whole suite of methods to completing this task), but at the moment, nothing seems to exist on the internet to answer it.

Thanks for any solutions, Lucas Niewohner

1 Answer 1

0

I am in the same position here, a rather serious need for a reverse SSH tunnel from a Windows IoT Core device. From what I know, there only is SSH Server support within IoT Core as of yet.

An alternative which might work - I have yet to test this - is to use Powershell to build a reverse tunnel, similar to the setup for example here. In theory, it should be possible to configure such as script as a task with privileged rights in order to achieve the required functionality.

As far as remote management is concerned, Microsoft seems to push you in the direction of either OMA MDM based solutions (Microsoft Intune or SCCM for example) or Azure IoT Hub based solution (as outlined here). I have - with a moderate enthusiasm at the most - been able to use this method to remotely update the software and some of the configuration of the RPi. However, you'll need to have some kind of TPM installed (or use the software simulated variant which does not seem to be available in a production built IoT Core image).

If your requirement for IoT Core is that you are using a C# based custom application (as is the case for me), another unorthodox method might be to use a Linux distribution with Mono and then use the proven method of a 'classis' reverse SSH tunnel.

I plan on testing the both Powershell reverse tunnel and Linux/Mono "concepts" in the near future and will share any results by then.

Good luck, hope this provides a little bit of help.

Regards,

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .