General
RDP Into a Proxmox VM Without Opening It Up to the Network
Luger Lex Pit-og Dev.to (EN Zone)
18 views
I run an Ubuntu Desktop VM on my Proxmox server and wanted to RDP into it without exposing port 3389 to my whole network. What i ended up with: tunnel RDP through SSH.
The Idea
I already trust my SSH connection to the Proxmox host. So instead of opening RDP up directly, I have SSH secretly carry the RDP traffic for me:
[Laptop] --localhost:3389--> [SSH tunnel] --> [Proxmox host] --3389--> [VM]
My RDP client just connects to localhost:3389 like normal. It has no idea SSH is quietly relaying that traffic all the way to the VM.
Setup
VM side: install and run xrdp like usual.
Laptop side, add this to ~/.ssh/config:
Host proxmox-rdp
HostName <proxmox-host-ip>
User <your-user>
LocalForward 3389 <VM_IP>:3389
That LocalForward line forwards local port 3389 to the VM's port 3389.
Connecting
1.Start the VM in Proxmox.
2.Open the tunnel(ran on my client):
ssh proxmox-rdp -N
(-N = just forward the port. It'll look frozen. That's normal, just leave it open.)
3.RDP to localhost:3389.
Close that terminal, tunnel's gone, RDP stops working.
Why Bother
Only SSH needs to be exposed, not RDP. All the traffic rides inside SSH's encryption.
Watch Out For
If the VM's IP is DHCP and changes after a reboot, the LocalForward line goes stale. Set a static IP or DHCP reservation to avoid this.
Read original: https://dev.to/lugerlogic/rdp-into-a-proxmox-vm-without-opening-it-up-to-the-network-52nj
← Previous
ZGateway: Learnings from Putting a Proxy in Front of ZippyDB
Next →
Ollie is betting its focus on privacy can help it win the AI assistant race
Related
Semantic tag vs Non-Semantic tag
General
51
Dev.to (EN Zone)
How LinkedIn "Bold" Text Actually Works (It's Not Bold At All)
General
43
Dev.to (EN Zone)
Google ADK Callbacks Are a Policy Plane, Not Just Hooks
General
44
DEV Community 周榜
How I Modelled My Power BI Data — Data Modelling, Relationships & Joins (Kenya Crops Dataset)
General
41
DEV Community 周榜
Comments0
No comments yet — be the first