Remote Access to home machine?

Hello everybody, this is kind of a long shot, just want to see if someone has maybe an idea.

I will be gone on vaccation for two weeks and won’t have access to my desktop pc. On the other hand, i have a lot of video files that i need to render and want to upload, and that i neglected now for a while because i don’t want to use my pc that much while it’s under heavy load (render issues, stuttery behavior etc.)

I also have a laptop (manjaro) and a cloud server (ubuntu), that i will have access to, while i’m away.

Is there any way, that i can access my home machine while i’m gone and maybe ssh into it or even VNC? The thing is, i can’t set up DynamicDNS, because i don’t have access to the router. (my flatmate is very afraid of me breaking everything and having no internet… also i think she forgot the admin pass…).

My idea now was to let my pc ping the IP-Adress every 24h to my server, as a replacement for a DynDNS.

But apart from that i’m too nooby to set it all up… I’m just getting started into all the server related things. Would i need to set up some kind of port forwarding in the router for that, or could i just abuse one of the http(s)-ports for that time? Also, i wouldn’t want to have the pc running 24h/d for two weeks, that would be a massive waste of electricity. Would it be possible to wake it up over the Network?

For security concerns, i would probably set up a whole new OS for it, with just the needed programs and files, and all other stuff being physically disconnected. I guess i still have a drive lingering around for that…

I already wrote a script for automatically rendering and uploading so that wouldn’t be a problem, i just would have to manually feed it new raw data.

This is a lot to ask for, and i’m definitely not mad if i get no answer. I’m just hoping for some pushes into the right direction. (hopefully that’s now enough of an excuse for my help vampirism…). Thank you for all answers in advance.

Take a look at DuckDNS, it’s a DDNS that allows you to access your network via one domain and four subdomains that you can point to different machines.

Updating your dynamic IP can be done via a cron job set up on any of them.

1 Like

Thank you very much, that looks promising :slight_smile: i guess i will still have to figure out the port forwarding problem, maybe i get my flatmate to tell me the router pas…

What you could do is ssh reverse port forwarding from your desktop to the server and then use your laptop to port forward the same port from the server to your laptop. This would result in your server being a proxy for both connections.

Unfortunately, I never tried that and I can only give the above keywords and not a full tutorial.

1 Like

Thank you very much, i will to see what i can find from these keywords. But seems kinda reasonable, using an established connection.

You can setup ssh on your box

Then use vnc over ssh

1 Like

Okay, so I tried it and it works:

You open a reverse port forward from your desktop:

ssh SERVER -R 2222:localhost:22

Meaning, the port 2222 on the server will be redirected to the desktop’s port 22.

Then, on your laptop, you forward the server’s port 2222 to the laptop’s port 2222:
ssh SERVER -L 2222:localhost:2222

Then, you can connect from your laptop to the desktop:
ssh -p 2222 localhost

(Of course, you have to substitute SERVER with your actual server, authenticate correctly, at best, use ssh keys. The port 2222 is arbitrary and you can use any you like.)

The same works for VNC which will use different ports.

2 Likes

Thank you very much, that also seems like a viable option to enable VNC. I will see how far i can get with just ssh. Your tutorial on setting up an ssh service looks really good!

Neat, i will definitely try that later!

Just throwing this out there.

You can use Teamviewer, without having to port forward anything.
It’s non-free, goes over their servers etc. But it’s easy to setup. Even for non-technical people.

1 Like

Yeah, i think i tried something like that a while ago, but it didn’t work for me for some reason. I think it was, because my screen locked after a while and you can’t use the remote machine if the screen is locked iirc.

Ofc i could just set it up, so the screen doesn’t get locked :smiley: but i also just want to dig into the topic. But TeamViewer or RustDeck as an Open Source alternative are viable options.

In my case, I have ssh set up in my desktop, but the router forwards a different port than 22 to the desktop’s port 22 (so I get rid of log attempts).

Then I have a simple systemd service that fetches my public IP every 15 mins or so and, if it changes, it is written to a file. This file is located in a folder which is synced to my laptop via MEGA.

I then connect from my laptop, via ssh, forwarding a local port to the remote port NoMachine listens. Then I login with NoMachine and I can even play games (well, only strategy games).

However, I do leave my desktop always on because it is connected to my router through WiFi.

I use a similar setup for my work computer (except the systemd service part, because the IP is fixed).

As an update from my side, to what i actually did: I listened to my other flatmate, who said “Just use AnyDesk” and tbh it’s an easy solution for people with this problem (even has an theoretical wake-from-lan option). But i still want to try the ssh solution after my vacation, just for the sake of technological adventure.