tl;dr How could I access a remote windows 10 PC to reboot it without physical access? RDP is not enabled, sunshine has crashed such that a remote connection (and web UI) is not available. In the past rebooting my router (mikrotik hex) has somehow brought sunshine back up, but that didn’t work this time.
Background
I use moonlight + sunshine to remotely access my home PC while I travel.
There is some kind of bug with the switch port of moonlight that crashes sunshine when you exit a session and makes the service unavailable. The half dozen or so times that this happened before, rebooting my router has made the sunshine host available again. I hadn’t diagnosed the problem beyond that because that step was easy and always worked.
I’m out of state for the next two weeks and, for reasons that I don’t yet understand, rebooting my router has not brought the sunshine service back up.
I’m not going to die not having access to my home PC for a couple weeks, but I’m curious if there is some avenue I could use to reboot or otherwise access my home PC with my current configuration that I haven’t considered.
I plan on enabling RDP once I get home for a backup connection option, but for the moment the service is disabled.
Wsl is not installed/running
I am able to ping the PC from a terminal in my router.
The OS that the host is logged into currently is not tied to a Microsoft account.
I access my home network through a wire guard VPN.
I have the ability to send WOL packets from my home server.
The host has every form of UAC/firewall/defender disabled
I’m aware of devices like pikvm, but I’m curious if there are options for accessing this PC in the next two weeks while I’m away.
I tried just now just in case, but I hadn’t enabled ssh on this machine.
It’s on a UPS, but until I looked it up just now I didn’t think it had any remote management capabilities (BN1500M2). I’ll look into a good way to set that up when I get home, I already do something similar with my ups for my home server.
Ha! I don’t know if we have enough sexy 90s cartoon girl shirts for that.
The only uptime requirement this system has is that it not reboot while I’m using it. Along the same lines as a daily reboot, I was considering ending the remote session from the offending switch BY rebooting the host device.
I’ve hard-locked myself out of a computer a time or two. Last week, I remoted in to the virtual desktop, and clicked to cycle off the network connection instead of running a command in ssh to turn it off and back on.
I’m digging a little more into what is happening with sunshine to see if I can make any progress that way.
The client on my phone cannot see the host, but my switch somehow can. So I’ll start there and enable a debug mode.
When initiating a connection with the host, moonlight makes a curl “request” (that’s what the logs call it) to the host over port 47989. This one is successful.
Next moonlight makes another request over port 47984, which times out. I verified that the dstnat rule is set up correctly and active, so next is to try to figure out what exactly is happening over 47984 since this seems to be what has failed.
It’s something to do with a timed out https loop not responding to a request. I’m going to re-create the program on a computer locally so I can see the server logs.
I was going to suggest calling up your power company to see if they’d do a quick power cycle (seems easy if you have a smart meter), but it’d probably be a little longer of an outage with a UPS (maybe they can shut it off for an hour?)
This reminded me to figure out a daily reboot script for my server; I use a laptop which also has a pretty good battery