I have a Linux machine (linuxMint 21, Ubuntu 22.04) and a Windows 10 machine.
I connect to the Linux machine via RDP.
Now I want to use Cloudflare Tunnels to connect from the outside.
I can connect HTTP and SSH/Web but RDP cannot find the machine.
I have Cloudflared working on both machines.
I added an application for HTTP, SSH and RDP.
I added hostnames for all three
hostname: rdp domain net
service: rdp: // 127.0.0.1:3389
hostname: web domain net
service: http: // localhost:80
hostname: ssh domain net
service: ssh: // localhost:22
I authenticated via IP on all three applications.
HTTP works great.
SSH using web works but not with a client, I had to turn on “Browser rendering”.
RDP fails with the Windows RDP Client not finding the server.
I also tried adding ““C:\Program Files (x86)\cloudflared\cloudflared.exe” access rdp --hostname rdp domain net --url localhost :3389"” to be run before trying to connect. The instructions said to have RDP Client connect to localhost but it does not allow, stating that the computer cannot be connected to because it is already in use.
You cannot make cloudflared listen on localhost port 3389 to proxy RDP, since that port is claimed by your local Remote Desktop Service. Please pick a different port and connect to that localhost port after proxying.
I realise after looking that the docs say you should use 3389, unfortunately the docs are wrong, please try a different local port for that command.
For SSH, you need to setup your SSH config locally to access tunneled SSH servers. Run cloudflared access ssh-config for relevant instructions.