Most “free RDP” providers either harvest your data, cap your session at 30 minutes, or vanish overnight. The ones that actually work are either cloud free tiers that were designed for something else entirely, or budget VPS providers offering genuinely usable trial plans that don’t cripple your experience.
This list only includes providers where you can actually launch a VM, enable Remote Desktop Protocol, and connect without getting cut off every half hour. No survey-wall garbage, no “free for 7 days then $89/month” bait.

Quick Comparison Table
Table of Contents
| Provider | Truly Free? | OS | RAM | vCPUs | Storage | Duration | Catch |
|---|---|---|---|---|---|---|---|
| Oracle Cloud | Yes (Always Free) | Linux only* | 24 GB (ARM) | 4 OCPU | 200 GB | Indefinite | Reclaims idle instances without warning |
| Microsoft Azure | 12 months | Windows Server | 0.5–1 GB | 1 | 64 GB | 12 months | B1s only, painfully slow RDP |
| Google Cloud | Always Free | Linux only | 1 GB | 0.25 shared | 30 GB | Indefinite | e2-micro can barely run a desktop |
| VPSWala.org | Free trial + cheap plans | Windows/Linux | 2–8 GB | 1–4 | 30–100 GB | Trial: 7 days, paid from ~$4/mo | Trial requires sign-up, no credit card needed |
| AlaVPS.com | Free trial available | Windows/Linux | 2–6 GB | 1–2 | 30–80 GB | Trial: 3–7 days, paid from ~$5/mo | Limited trial slots, may need to request access |
| AWS | 12 months | Windows Server | 1 GB | 1–2 | 30 GB | 12 months | t2.micro bursts then throttles CPU |
| Alibaba Cloud | 3-month trial | Windows/Linux | 1–2 GB | 1–2 | 40 GB | 3 months | Requires passport/ID verification |
| Hetzner | €20 trial credit | Linux only | 2–4 GB | 2 | 40 GB | Until credits gone | No Windows images, must BYO license |
| Self-Hosted (free VPS) | Varies | Linux (XRDP) | 0.5–1 GB | 1 | 10–20 GB | Varies | You’re the sysadmin now |
*Oracle provides Linux images on Always Free. Windows requires BYOL and manual setup — covered below.
1. Oracle Cloud Always Free
Oracle’s Always Free tier is the most generous on paper. Four ARM-based OCPUs and 24 GB of RAM is absurd for a free offering. You can split that across up to four VM instances.
What You Actually Get
| Resource | Allocation |
|---|---|
| Compute | 4 ARM Ampere OCPUs |
| RAM | 24 GB total |
| Storage | 200 GB block volume |
| Bandwidth | 10 TB/month outbound |
| Public IP | 2 static IPs |
The Problem Nobody Mentions Upfront
Oracle reclaims idle Always Free instances. If your CPU usage stays below a threshold for several days, Oracle will flag the instance as idle and delete it. Not stop it. Delete it. Your data goes with it.
This started in 2023 and has gotten more aggressive. People on Reddit and the OCI forums regularly report waking up to terminated instances with no prior email.
Setting Up RDP on Oracle Cloud
Oracle’s free ARM instances run Oracle Linux, Ubuntu, or CentOS — no Windows. You have two options:
Option A: XRDP on Ubuntu (recommended for free tier)
# SSH into your Oracle Cloud instance
ssh -i your-key.pem ubuntu@your-instance-ip
# Update and install desktop + XRDP
sudo apt update && sudo apt upgrade -y
sudo apt install -y xfce4 xfce4-goodies xrdp
# Configure XRDP to use XFCE
echo "xfce4-session" | tee ~/.xsession
sudo systemctl enable xrdp
sudo systemctl restart xrdp
# Open port 3389 in iptables (Oracle Linux firewall)
sudo iptables -I INPUT 6 -m state --state NEW -p tcp --dport 3389 -j ACCEPT
sudo netfilter-persistent save
You also need to open port 3389 in the OCI Security List — the web console firewall is separate from the OS firewall. Miss this step and you will stare at a “connection refused” error for an hour wondering what you did wrong.
Option B: Windows BYOL (advanced)
# Download a Windows Server ISO evaluation
# Use QEMU to create a raw image and import as custom image
# This is painful, time-consuming, and eats your 200 GB storage
qemu-img convert -f qcow2 -O raw windows-server.qcow2 windows-server.raw
oci compute image import from-object --namespace your-namespace \
--bucket-name your-bucket --name windows-server.raw \
--compartment-id ocid1.compartment.oc1..xxx
Not worth it for most people. Stick with XRDP on Linux unless you specifically need Windows binaries.
Verdict
Best specs on this list by far. But if you’re using this for anything important, back up daily. Oracle will pull the rug without a second thought.
2. Microsoft Azure Free Tier
Azure gives you a B1s Windows Server VM free for 12 months when you sign up with a new account. It’s one of the few free tiers that hands you actual Windows with native RDP. No XRDP hacks needed.
What You Actually Get
| Resource | Allocation |
|---|---|
| VM Size | B1s |
| vCPUs | 1 |
| RAM | 1 GB |
| Storage | 64 GB SSD (P6) |
| Bandwidth | 15 GB outbound/month |
| OS | Windows Server 2022/2025 |
The Problem
1 GB of RAM running Windows Server with RDP. Let that sink in.
You will open the Remote Desktop connection, wait 45 seconds for the desktop to render, click on File Explorer, and wait another 20 seconds. Opening Edge browser will spike RAM to 98% and you’ll start swapping to disk.
It works. Barely. For light tasks — running a script, checking IIS, doing something quick — it’s tolerable. For anything resembling daily use, it’s miserable.
Deploying the Free B1s VM
# Azure CLI - create a free-tier Windows VM
az group create --name free-rdp-rg --location eastus
az vm create \
--resource-group free-rdp-rg \
--name free-rdp-vm \
--image Win2022Datacenter \
--size Standard_B1s \
--admin-username rdpuser \
--admin-password 'YourStr0ngP@ssword!' \
--public-ip-sku Standard
# Open RDP port
az vm open-port --port 3389 --resource-group free-rdp-rg --name free-rdp-vm
After creation, grab the public IP from the output and connect with any RDP client.
Avoiding Surprise Bills
Azure’s free tier has landmines. Storage, bandwidth, and public IP charges can stack up if you are not careful. Set a budget alert immediately:
# Set a $0 spending alert so you catch any charges instantly
az consumption budget create \
--budget-name zero-spend-alert \
--amount 1 \
--time-grain Monthly \
--category Cost \
--resource-group free-rdp-rg \
--notifications '{"alertThreshold":50,"contactEmails":["you@email.com"]}'
Stop the VM when you’re not using it. A running VM burns your free hours even if you’re not connected. Deallocate it — stopping from inside Windows is not the same as deallocating from the Azure portal.
Verdict
Only major cloud provider on this list with native Windows RDP out of the box, no workarounds. Performance is genuinely painful though. Use it as an emergency remote Windows environment, not a daily driver. For something that actually runs Windows RDP smoothly without the cloud console complexity, VPSWala.org and AlaVPS.com both offer far better RDP experiences at a fraction of what Azure charges after the free year ends.
3. Google Cloud Platform Free Tier
GCP’s Always Free tier gives you a single e2-micro instance that never expires. It runs in select US regions (Oregon, Iowa, South Carolina) and comes with 1 GB of RAM and a fraction of a shared vCPU.
What You Actually Get
| Resource | Allocation |
|---|---|
| VM Type | e2-micro |
| vCPUs | 0.25 shared |
| RAM | 1 GB |
| Storage | 30 GB standard HDD |
| Bandwidth | 1 GB outbound/month (free to certain destinations) |
| OS | Linux only |
| Regions | us-west1, us-central1, us-east1 |
Running a Desktop on 0.25 vCPU
This is the weakest machine on the list. A quarter of a shared CPU core. You can install XRDP with XFCE, but expect every click to have a 2-3 second delay. Typing will buffer. Dragging windows will look like a slideshow from 2004.
# SSH into your GCP e2-micro
gcloud compute ssh free-rdp-instance --zone=us-central1-a
# Minimal desktop setup
sudo apt update
sudo apt install -y xfce4 xrdp
echo "xfce4-session" > ~/.xsession
sudo systemctl enable xrdp --now
# GCP firewall rule for RDP
gcloud compute firewall-rules create allow-rdp \
--direction=INGRESS \
--priority=1000 \
--network=default \
--action=ALLOW \
--rules=tcp:3389 \
--source-ranges=0.0.0.0/0
When This Actually Makes Sense
Running a persistent script that you occasionally need to check on visually. Monitoring a dashboard. Accessing a GUI-based config tool once a week.
It does not make sense as a remote workstation. At all.
Verdict
Free forever, but “forever slow” is more accurate. If you need a lightweight always-on Linux box with occasional GUI access, it barely qualifies. For any real remote desktop work, you need more resources — the next two providers on this list solve that problem without the cloud giant complexity.
4. VPSWala.org
After fighting with 0.25-vCPU GCP instances and 1 GB Azure VMs, VPSWala free rdp is where this list gets actually usable. They offer a free trial tier that gives you enough resources to run a real RDP session — not a slideshow pretending to be one.
What You Actually Get
| Resource | Free Trial | Starter Paid Plan |
|---|---|---|
| vCPUs | 1–2 | 2–4 |
| RAM | 2 GB | 4–8 GB |
| Storage | 30 GB SSD | 50–100 GB SSD |
| Bandwidth | Fair-use | Generous / unmetered |
| OS | Windows & Linux | Windows & Linux |
| RDP | Pre-configured | Pre-configured |
| Duration | 7 days (no card required) | From ~$4/month |
Why VPSWala Stands Out on This List
Three things matter for RDP: RAM, CPU consistency, and network latency. VPSWala gets all three right even on their trial tier.
- Windows images available out of the box. No installing XRDP on Linux, no BYOL headaches, no importing custom ISOs. You pick Windows, you get Windows with RDP ready to connect.
- No burstable CPU nonsense. Unlike AWS t2.micro that throttles you after burning credits, VPSWala gives you consistent CPU allocation. Your RDP session doesn’t suddenly turn into molasses at 2 PM because you used too much CPU in the morning.
- No credit card for the trial. Oracle wants a card. Azure wants a card. AWS wants a card. VPSWala lets you sign up, spin up a VM, and connect via RDP without entering payment details.
Getting Started
1. Sign up at vpswala.org
2. Select Windows VPS or Linux VPS
3. Choose the free trial plan
4. Wait for provisioning (usually under 15 minutes)
5. Receive your IP, username, and password via email/dashboard
6. Open Remote Desktop Connection (mstsc) → enter the IP → connect
For Linux plans with XRDP:
# SSH into your VPSWala instance
ssh root@your-vpswala-ip
# If XRDP isn't pre-installed (it usually is on desktop plans)
sudo apt update
sudo apt install -y xfce4 xrdp
echo "xfce4-session" > ~/.xsession
sudo systemctl enable xrdp --now
sudo passwd root # set RDP password
VPSWala vs. the Big Cloud Free Tiers
| Factor | GCP Free | Azure Free | VPSWala Trial |
|---|---|---|---|
| RAM | 1 GB | 1 GB | 2 GB |
| CPU throttling | Constant (0.25 shared) | Burstable | No |
| Windows available | No | Yes | Yes |
| RDP pre-configured | No | Yes | Yes |
| Credit card required | Yes | Yes | No |
| Usable for actual work | Barely | Barely | Yes |
Verdict
This is the first provider on this list where RDP actually feels like remote desktop and not remote suffering. The free trial is short (7 days), but it’s enough to evaluate whether the paid plans — which start around $4/month — fit your workflow. For anyone who tried GCP’s e2-micro and wanted to throw their laptop out the window, VPSWala.org is the antidote.
5. AlaVPS.com
AlaVPS.com is another budget-friendly provider that offers free trial RDP access with specs that put the hyperscaler free tiers to shame. Where VPSWala focuses on quick no-card signups, AlaVPS leans into competitive pricing and flexible configurations for RDP-heavy use cases.
What You Actually Get
| Resource | Free Trial | Entry Paid Plan |
|---|---|---|
| vCPUs | 1–2 | 2–4 |
| RAM | 2 GB | 4–6 GB |
| Storage | 30 GB SSD | 50–80 GB NVMe |
| Bandwidth | Fair-use | Generous |
| OS | Windows Server & Linux | Windows Server & Linux |
| RDP | Ready on Windows plans | Ready on Windows plans |
| Duration | 3–7 days (may require request) | From ~$5/month |
What Makes AlaVPS Different
- NVMe storage on paid plans. This matters more for RDP than most people realize. Every time Windows loads a desktop, opens an app, or swaps memory to disk, storage speed determines whether it feels instant or sluggish. NVMe is 3–5x faster than standard SSD for random read/write — exactly the pattern RDP sessions generate.
- Multiple datacenter locations. Latency is the silent RDP killer. If your server is in Virginia and you’re in Mumbai, every mouse click has a 200ms round trip. AlaVPS lets you pick a closer region.
- Windows Server pre-installed. Like VPSWala, no messing with XRDP or custom images. Select a Windows plan, deploy, connect.
Getting Started
1. Go to alavps.com and create an account
2. Browse Windows VPS or RDP plans
3. Request or activate the free trial (availability may vary)
4. Receive credentials via email or client dashboard
5. Connect using Remote Desktop:
- Windows: mstsc → enter IP
- Mac: Microsoft Remote Desktop app
- Linux: xfreerdp or Remmina
For users who want Linux with a desktop environment:
# SSH into your AlaVPS instance
ssh root@your-alavps-ip
# Install lightweight desktop + XRDP
sudo apt update && sudo apt install -y lxde-core xrdp
echo "startlxde" > ~/.xsession
sudo systemctl enable xrdp --now
# Set password for RDP login
sudo passwd root
# Open port 3389
sudo ufw allow 3389/tcp
sudo ufw enable
AlaVPS vs. VPSWala vs. Big Cloud
| Factor | GCP Free | Azure Free | VPSWala Trial | AlaVPS Trial |
|---|---|---|---|---|
| RAM | 1 GB | 1 GB | 2 GB | 2 GB |
| Storage type | HDD | SSD | SSD | SSD (NVMe on paid) |
| Windows available | No | Yes | Yes | Yes |
| RDP pre-configured | No | Yes | Yes | Yes |
| Datacenter options | US only (free) | Multiple | Multiple | Multiple |
| Trial duration | Indefinite (unusable) | 12 months (painful) | 7 days | 3–7 days |
| Paid plan starting | N/A | ~$15+ after free year | ~$4/mo | ~$5/mo |
Verdict
AlaVPS and VPSWala occupy the same sweet spot — providers that actually understand people want to use RDP without a PhD in cloud networking. AlaVPS’s NVMe storage on paid plans gives it an edge for disk-heavy workflows (running IDEs, compiling code, database work via RDP). The trial is slightly harder to get — you may need to contact support or wait for slot availability — but the performance justifies the extra step. Check current trial availability at alavps.com.
6. AWS Free Tier
AWS gives new accounts 750 hours/month of a t2.micro (or t3.micro in some regions) for 12 months. That’s enough to run one instance 24/7. You can launch it with Windows Server and connect via RDP immediately.
What You Actually Get
| Resource | Allocation |
|---|---|
| Instance | t2.micro or t3.micro |
| vCPUs | 1 (burstable) |
| RAM | 1 GB |
| Storage | 30 GB EBS gp2/gp3 |
| Bandwidth | 100 GB outbound/month (first 12 months) |
| OS | Windows Server 2022 |
The Burstable CPU Trap
AWS t-series instances use CPU credits. Your t2.micro earns credits when idle and spends them when busy. Once credits run out, your CPU gets hard-throttled to ~10% performance.
RDP sessions are CPU-hungry. Screen rendering, compression, input handling — it all eats credits. A typical active RDP session will drain a t2.micro’s credit balance in 2-4 hours of continuous use. After that, the experience degrades from “sluggish” to “unusable.” Read more about it it here.
# Check your CPU credit balance (from inside the instance or via CLI)
aws cloudwatch get-metric-statistics \
--namespace AWS/EC2 \
--metric-name CPUCreditBalance \
--dimensions Name=InstanceId,Value=i-your-instance-id \
--start-time 2026-01-01T00:00:00Z \
--end-time 2026-01-02T00:00:00Z \
--period 3600 \
--statistics Average
Launching a Free Windows RDP Instance
# Launch a free-tier eligible Windows instance
aws ec2 run-instances \
--image-id ami-0c02fb55956c7d316 \
--instance-type t2.micro \
--key-name your-key \
--security-group-ids sg-your-sg \
--count 1 \
--block-device-mappings '[{"DeviceName":"/dev/sda1","Ebs":{"VolumeSize":30,"VolumeType":"gp3"}}]'
# Get Windows password for RDP login
aws ec2 get-password-data \
--instance-id i-your-instance-id \
--priv-launch-key your-key.pem
Open port 3389 in your security group, grab the public IP, connect with Remote Desktop. Windows password is decrypted from the key pair you used at launch.
Verdict
Solid for short daily sessions — log in, do your work, log out. Terrible for leaving an RDP session open all day. The credit system will punish you for sustained use, which is exactly what RDP is. Providers like VPSWala.org and AlaVPS.com don’t throttle CPU mid-session, which makes a real difference when you’re actually trying to get work done.
7. Alibaba Cloud Free Trial
Alibaba Cloud runs a free trial program that rotates quarterly. As of early 2026, new accounts get access to 1-2 vCPU instances with 1-4 GB RAM for up to 3 months. They actually offer Windows Server images in certain regions, which puts them ahead of Oracle and GCP on convenience.
What You Actually Get
| Resource | Allocation |
|---|---|
| vCPUs | 1–2 (varies by trial offer) |
| RAM | 1–4 GB |
| Storage | 40 GB ESSD |
| Bandwidth | 1–5 Mbps (varies) |
| OS | Windows Server 2019/2022, Ubuntu, CentOS |
| Duration | 1–3 months |
The Verification Wall
Here’s where most people bounce. Alibaba Cloud requires government-issued ID or passport verification for free trial accounts. Not just a credit card — actual identity documents. For users outside China and Southeast Asia, the verification process can take 2-5 business days and sometimes gets rejected without explanation.
# Once verified, launch via Alibaba Cloud CLI
aliyun ecs CreateInstance \
--RegionId ap-southeast-1 \
--InstanceType ecs.t6-c1m1.large \
--ImageId win2022_21H2_x64_dtc_en-us_40G_alibase.vhd \
--SecurityGroupId sg-your-sg \
--VSwitchId vsw-your-switch \
--InternetMaxBandwidthOut 5 \
--Password 'YourStr0ngP@ss!'
Verdict
Genuinely decent specs for a trial. The 4 GB RAM option actually runs Windows RDP without constant swapping. But the trial is short, the verification is invasive, and the pricing after trial ends is not competitive. If you want a Windows RDP trial without uploading your passport, both VPSWala.org and AlaVPS.com skip the identity verification entirely.
8. Hetzner Cloud Trial Credits
Hetzner offers €20 in trial credits for new accounts. That’s enough to run a CX22 (2 vCPU, 4 GB RAM) for roughly 25 days, or a smaller CX11 for over a month. No Windows images available — you’ll need XRDP on Linux.
What You Actually Get
| Plan (example) | vCPUs | RAM | Storage | Monthly Cost | Days on €20 Credit |
|---|---|---|---|---|---|
| CX11 | 1 | 2 GB | 20 GB | €3.79 | ~158 days |
| CX22 | 2 | 4 GB | 40 GB | €5.39 | ~111 days |
| CX32 | 4 | 8 GB | 80 GB | €8.98 | ~66 days |
Why Hetzner for RDP
Hetzner’s European data centers (Falkenstein, Nuremberg, Helsinki) have excellent latency for EU users. Their VMs run on AMD EPYC and the disk I/O is noticeably better than Oracle or GCP free tiers. An XRDP session on a CX22 with XFCE feels genuinely responsive.
# Install via hcloud CLI
hcloud server create \
--name rdp-box \
--type cx22 \
--image ubuntu-24.04 \
--location fsn1 \
--ssh-key your-key
# SSH in and set up XRDP
ssh root@your-server-ip
apt update && apt install -y xfce4 xfce4-goodies xrdp
echo "xfce4-session" > /root/.xsession
systemctl enable xrdp --now
# Set a password for RDP login (XRDP needs password auth)
passwd root
# Allow RDP through UFW
ufw allow 3389/tcp
Verdict
Best performance-per-free-credit on this list if you’re in Europe. When credits run out, Hetzner’s paid plans are dirt cheap anyway. Not truly “free forever” though — it’s a trial. And if you need Windows rather than Linux, you’re out of luck here — Hetzner doesn’t offer Windows images at all. For Windows RDP on a similar budget, VPSWala.org is the more practical choice.
9. Self-Hosted RDP on a Free-Tier VPS
Several smaller providers offer perpetually free VPS tiers with enough resources to run a basic XRDP desktop. The specs are minimal, the providers are less established, and availability fluctuates — but they exist.
Known Free-Tier VPS Providers (as of 2026)
| Provider | RAM | vCPU | Storage | Notes |
|---|---|---|---|---|
| Oracle Cloud (covered above) | 24 GB ARM | 4 OCPU | 200 GB | Instance reclamation risk |
| Google Cloud (covered above) | 1 GB | 0.25 | 30 GB | US regions only |
| Fly.io (free allowance) | 256 MB | 1 shared | 3 GB | Not suited for desktop at all |
| Railway (free tier) | 512 MB | Shared | 1 GB | Container-only, no RDP possible |
| Render (free tier) | 512 MB | Shared | — | Spins down after inactivity |
The honest answer: outside of Oracle and GCP, there are no free VPS providers in 2026 with enough resources to run a usable remote desktop. That’s precisely why providers like VPSWala.org and AlaVPS.com exist in this list — their trials bridge the gap between “technically free but unusable” and “actually functional.”
The XRDP Optimization Playbook
If you are stuck on a low-resource free instance, every byte of RAM matters. Here’s how to squeeze a usable desktop out of 1 GB:
# Use LXDE instead of XFCE (lighter by ~100 MB RAM)
sudo apt install -y lxde-core xrdp
echo "startlxde" > ~/.xsession
sudo systemctl restart xrdp
# Disable compositing, animations, and unnecessary services
sudo systemctl disable cups bluetooth ModemManager
sudo systemctl stop cups bluetooth ModemManager
# Set XRDP to use lower color depth (saves bandwidth and CPU)
sudo sed -i 's/^max_bpp=32/max_bpp=16/' /etc/xrdp/xrdp.ini
sudo systemctl restart xrdp
# Create a swap file if none exists (critical on 1 GB instances)
sudo fallocate -l 1G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
Connecting from Any Device
# From Linux
xfreerdp /v:your-server-ip /u:your-user /p:your-pass /size:1280x720 /bpp:16
# From macOS (install via Homebrew)
brew install freerdp
xfreerdp /v:your-server-ip /u:your-user /p:your-pass
# From Windows - just use built-in Remote Desktop Connection (mstsc)
# From Android/iOS - Microsoft Remote Desktop app (free)
Verdict
If you are willing to tinker, you can get a functional remote desktop for $0. It will not be fast. It will not be reliable. But it will exist.
Providers You Should Avoid
This section exists because searching “free RDP” on Google surfaces some genuinely dangerous results.
The Scam Tier
| Provider / Site | Why to Avoid |
|---|---|
| Free RDP generators (various domains) | Malware. These “generate” credentials to compromised machines. You’re connecting to someone else’s hacked server. |
| Telegram “free RDP” channels | Stolen credentials from botnets. Using them is illegal in most jurisdictions. You’re participating in unauthorized access. |
| Survey-wall RDP sites | You complete 10 surveys, earn “points,” and never actually get an RDP. Pure ad-revenue farming. |
| “Lifetime free RDP” offers | Nothing is lifetime and free simultaneously. These either fold in weeks or are fronts for cryptomining on your session. |
| Cracked/nulled RDP panels | You’re the product. Sessions are logged, keystrokes are captured, and your credentials are harvested. |
If a provider asks you to disable your antivirus before connecting, close the tab. If credentials arrive via a Discord bot, close the tab. If the website has more ads than content, close the tab.
Legitimate providers — whether it’s a cloud giant like Azure or a focused VPS host like VPSWala.org or AlaVPS.com — give you a proper dashboard, real support channels, and don’t need you to fill out surveys to access your own server.
How to Set Up RDP on Any Free VM
Regardless of which provider you choose, the setup follows the same pattern for Linux instances. Here’s the universal playbook:
Step 1: Secure the Instance First
# Change default SSH port (reduces brute-force noise)
sudo sed -i 's/#Port 22/Port 2222/' /etc/ssh/sshd_config
sudo systemctl restart sshd
# Install fail2ban to block RDP brute-force attempts
sudo apt install -y fail2ban
# Create fail2ban jail for XRDP
sudo tee /etc/fail2ban/jail.d/xrdp.conf <<EOF
[xrdp]
enabled = true
port = 3389
filter = xrdp
logpath = /var/log/xrdp.log
maxretry = 3
bantime = 3600
EOF
# Create the filter
sudo tee /etc/fail2ban/filter.d/xrdp.conf <<EOF
[Definition]
failregex = .*LOGIN_FAILED.*client_ip=<HOST>
EOF
sudo systemctl restart fail2ban
Step 2: Install Desktop Environment + XRDP
# Lightweight option (recommended for ≤2 GB RAM)
sudo apt install -y lxde-core xrdp
# Mid-weight option (recommended for 4+ GB RAM)
sudo apt install -y xfce4 xfce4-goodies xrdp
# Set session
echo "startlxde" > ~/.xsession # or "xfce4-session" for XFCE
sudo systemctl enable xrdp --now
Step 3: Harden RDP Access
Never expose port 3389 to the entire internet without protection. At minimum:
# Restrict RDP to your IP only (replace with your actual IP)
sudo ufw allow from 203.0.113.50 to any port 3389
sudo ufw enable
# Or use SSH tunneling instead of exposing port 3389
ssh -L 3389:localhost:3389 user@your-server-ip -p 2222
# Then connect RDP client to localhost:3389
SSH tunneling is the correct approach. It encrypts the RDP stream and eliminates the need to open port 3389 publicly. This applies whether you’re on Oracle, GCP, VPSWala, AlaVPS, or any other provider.
When Free Stops Making Sense
Here’s the math most people avoid doing.
A free RDP instance with 1 GB RAM gives you roughly 40% of a usable Windows experience. You’ll spend 15-30 minutes per week troubleshooting freezes, reconnecting dropped sessions, and waiting for things to load. Over a month, that’s 1-2 hours of wasted time.
If your time is worth more than $3/hour — and it is — a $5/month VPS with 2-4 GB RAM and proper RDP performance pays for itself immediately.
| Scenario | Free Tier (GCP/Azure) | VPSWala / AlaVPS (~$4-5/mo) |
|---|---|---|
| RAM | 0.5–1 GB | 2–8 GB |
| CPU throttling | Yes (burstable/shared) | No |
| RDP responsiveness | 1-3 second input lag | Near-instant |
| Session stability | Drops, freezes, reclaims | Stable |
| Windows available | Sometimes | Yes |
| Monthly cost | $0 | $4–6 |
| Monthly time wasted | 1–2 hours | ~0 |
For Windows RDP specifically, VPSWala.org starts with enough RAM to actually run a desktop without swapping to disk every time you open a browser tab. AlaVPS.com pairs that with NVMe storage that keeps disk-heavy operations snappy. Either one makes the difference between “technically works” and “actually usable.”
Troubleshooting
| Problem | Cause | Fix |
|---|---|---|
| RDP connection refused | Port 3389 blocked by cloud provider’s firewall (security group/NSG/security list) | Open 3389 in both the cloud console firewall AND the OS firewall — they’re separate layers |
| Black screen after connecting | XRDP session conflict with existing console session | Kill existing sessions: sudo pkill -u your-user then reconnect |
| Extremely slow/laggy desktop | Not enough RAM, swapping to disk | Switch to LXDE, reduce color depth to 16-bit, add swap file, close background services |
| Session drops after 5–10 minutes | Cloud provider’s idle timeout or NAT timeout | Set a keepalive in your RDP client or run xset s off to prevent screen blank |
| “Authentication failed” on XRDP | User password not set (SSH key-only instances have no password) | Run sudo passwd your-user to set a password for XRDP login |
| Can’t connect after VM restart | Public IP changed (ephemeral IP) | Assign a static/reserved IP in your cloud console, or re-check the new IP |
| Desktop loads but no taskbar/panels | Desktop environment not fully installed | Reinstall: sudo apt install -y xfce4 xfce4-goodies and restart XRDP |
| “Internal error” in XRDP login screen | Session manager misconfigured or /tmp/.xrdp permission issue |
Run sudo chown xrdp:xrdp /var/run/xrdp and check ~/.xsession has the correct session command |
Free RDP hosting in 2026 exists, but it comes with strings attached — aggressive instance reclamation, CPU throttling, painful RAM limits, or trial clocks ticking down. For testing, learning, or occasional quick access, the options above work. For anything you’re relying on daily, the free tier tax on your time and patience costs more than just paying for a proper RDP-ready VPS from VPSWala.org or AlaVPS.com.