VPN clien for personal use?

,

Quick question… probably.

I want to setup a VPN router side and allow a friend to temporarily connect to it when they need to VNC into their Minecraft server VM (Windows 10 the modded server they are using Linux compatibility is not very mature and they are not Linux literate) on my virtual server to manage it. They are intelligent but either way the normal methods of connecting and disconnecting to a VPN are time consuming and clunky especially when they may be connecting multiple times a day like for example when testing mods and updating the sever. The other problem would be that their network has other household users, is owned by the other users and the router is an ISP router so connecting via the router is flat out.

So I am wondering if their is a free application they can use to connect to to the VPN as necessary and disconnect when finished with the push of a button? They are running Windows 11 I believe. I believe my router supports OpenVPN by default.

Alternatively free VPN software I could run on both PC’s that easy to quickly connect and disconnect would work if they can TightVNC threw it.

Alternatively again and preffered if someone could recommend a free VNC with encryption that does not require an account. I am using TightVNC but it doesn’t support encryption to my knowledge. I tried TeamViewer but it wants me to log in to an account to connect which it didnt require before and I dont trust anything that wants me to make an account to connect to my own PC. Also I disable RDP on all Windows machines / VM’s because of how many times it has been exploited so RDP is also flat out.

Also would SSH tunneling work for this and would the tunnel need to be created on the VNC ports?

Thx.

Yes you can tunnel VNC via SSH, you would simply forward the VNC ports through the ssh tunnel. Never tried it but I am sure that this should also work for RDP.

I haven’t wrote powershell in decades so I wrote sh script and had chatgpt translate it powershell:

$remoteUser = "your_user"
$remoteHost = "your.server.com"
$remotePort = 22
$remoteVncPort = 5901
$localPort = 5901
$vncViewerPath = "C:\Program Files\TigerVNC\vncviewer.exe"
$sshKey = "C:\path\to\id_rsa"

$sshArgs = @(
    "-i", "$sshKey"
    "-N"
    "-L", "$localPort`:localhost`:$remoteVncPort"
    "-p", "$remotePort"
    "$remoteUser@$remoteHost"
)

Write-Host "Starting SSH tunnel to $remoteUser@$remoteHost..."
$sshProcess = Start-Process -FilePath "ssh.exe" -ArgumentList $sshArgs -NoNewWindow -PassThru

Start-Sleep -Seconds 3

Write-Host "Launching TigerVNC Viewer..."
Start-Process -FilePath $vncViewerPath -ArgumentList "localhost:$localPort" -Wait

Write-Host "Closing SSH tunnel..."
if ($sshProcess -and !$sshProcess.HasExited) {
    Stop-Process -Id $sshProcess.Id -Force
}

Write-Host "Done."

You need a ssh & vnc server on the Minecraft server and a ssh & vnc client on your friends pc. The server needs a static ip or ddns. Also the servers ssh port needs to be reachable and you need to setup ssh keys.

The script is untested, you use it as a starting point. It should connect to the ssh server, open tigervnc and after exiting tigervnc it should close the ssh connection.

Edit:

If you want a „real“ VPN connection, use WireGuard.

1 Like

Have you considered using Tailscale?

Would require accounts with MS or Googs, but not the VPN company itself…

Then no worries about IP changes, or opening outbound/inbound ports.

Pretty sure you can set up the ACL’s for their logon, of what they can access?

For the windows VM server, see if this works?

3 Likes

“we recommend installing an SSH server, and using SSH tunneling for all TightVNC connections from untrusted networks.”
TightVNC Frequently Asked Questions

There have been many, but after a while they all drop their free option and force everyone to switch.

AnyDesk
nomachine
ultraviewer
aeroadmin

1 Like

I ended up using TightVNC threw SSH for now. I will mess around with WireGuard and see how it works. Thx!

1 Like

Ye I setup an SSH server. Ill check out ur recommendations. THX