I'm looking for ways to access my linux machine (I've got two options, a machine running CentOS7 and a machine running Raspbian (rpi)) from a windows machine at school.

I've installed xrdp and forwarded port 3389 to the machine at home and all is working fine, however, I am concerned that anyone with my IP would have access to just guess at the username and password or launch some attack on it and gain access to my home network

Ideally I would like to secure RDP with a security key or security code some method of 2FA.... or only allow certain IP addresses to access.

Does anyone have any ideas on the safest way to secure port 3389 and remote access via windows rdp to a home computer configuring xrdp.

Many thanks

All questions welcome

  • I set up a RPi at home just for ssh connections. I set it up for pubkey authentication only (no password login allowed) and then exposed the ssh port through the NAT... When I'm out and about I just ssh to the RPi and forward traffic to/from any port on any host on my home network...
    – svin83
    Oct 2, 2021 at 11:12

1 Answer 1


RDP is inherently unsecure by itself. There are methods to improve it (strong passwords etc.), but it's still not advised to be used over the internet without protection.

There are options

  1. Use a secure remote desktop solution such as VNC
  2. Use VPN to secure the RDP access
  3. Tunnel RDP through SSH

Each of these solutions have their strengths and weaknesses. No "best" solution exist, only what's best for your situation, and only you can determine it. Making a detailed comparison on a site like this is not really possible, but you can find them by searching the internet.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .