Tools: Enabling SSH & RDP on Ubuntu 24.04 VM in Proxmox (Complete Guide)

Tools: Enabling SSH & RDP on Ubuntu 24.04 VM in Proxmox (Complete Guide)

🧠 Architecture Overview

πŸ”· Block Diagram: Access Flow

βš™οΈ Part 1: Enable SSH on Ubuntu VM

Step 1: Access VM Console (Proxmox GUI)

Step 2: Install OpenSSH Server

Step 3: Verify SSH Service

Step 4: Configure Firewall (UFW)

Step 5: Get VM IP Address

Step 6: Connect from Your PC

⚠️ Proxmox Firewall Check

πŸ–₯️ Part 2: Enable Remote Desktop (RDP)

πŸ”Ή Option 1: GNOME Remote Desktop (Recommended)

Steps:

Open Firewall

πŸ”Ή Option 2: xRDP (Alternative)

Install:

⚠️ Important Rule

πŸ”§ Part 3: Enable QEMU Guest Agent (VERY IMPORTANT)

Install inside VM:

Enable in Proxmox:

πŸ§ͺ Part 4: Verify Services

Check SSH:

Check RDP:

πŸ› οΈ Part 5: Fix Common Issues

❌ Error: SSH not found

❌ Error: RDP 0x204

Causes:

βœ… Fix 1: Disable Wayland

βœ… Fix 2: Disable GNOME Auth (User Mode)

βœ… Fix 3: Client Settings

βœ… Fix 4: Test Connectivity

❌ Issue: Port Conflict

❌ Issue: Proxmox Firewall Blocking

❌ Issue: No GUI Session

🧾 Final Checklist

βœ… SSH Setup

βœ… RDP Setup

βœ… Proxmox Integration

βœ… Network Validation

Pro Tip: Fix RDP Error Code 0x204 (Ubuntu 24.04 on Proxmox)

πŸ”§ 1. Fix GNOME Certificate Bug (Most Overlooked Fix)

Steps:

πŸ”₯ 2. Check Proxmox Firewall (Very Common Issue)

Steps:

πŸ’€ 3. Disable Ubuntu Power Saving

πŸ”’ 4. Relax Network Level Authentication (NLA)

Fix on Client (Windows/Mac):

🌐 5. Verify Network Reachability

Windows:

Mac/Linux:

⚠️ Bonus Insight

🧠 Quick Diagnosis Flow

🎯 Key Takeaways Running Ubuntu inside Proxmox VE is powerful for homelabs, but accessing it efficiently (SSH + Remote Desktop) is essential. This guide walks you through: β†’ That’s normal; just enable it. Best for Ubuntu 24.04 Desktop. Use if GNOME RDP fails. πŸ‘‰ NEVER run both at the same time Error code 0x204 usually means your RDP client cannot reach the Ubuntu VM over the network.

In Proxmox setups, this is commonly caused by: Ubuntu 24.04 has a known issue with RDP certificates. βœ… This bypasses certificate validation issues Even if Ubuntu allows RDP, Proxmox may still block it. RDP can fail if the VM β€œsleeps”. Strict authentication can break RDP connection. Make sure your machine can actually reach the VM: πŸ‘‰ If you're connecting to: External IP β†’ You need: This Pro Tip section fits perfectly under your Troubleshooting part and makes your blog much more practical. If you want, I can next: RDP issues in Ubuntu 24.04 are mostly: QEMU Guest Agent is critical for stability Templates let you quickly answer FAQs or store snippets for re-use. Hide child comments as well For further actions, you may consider blocking this person and/or reporting abuse

Code Block

Copy

+----------------------+ | Your Laptop/PC | | (SSH / RDP Client) | +----------+-----------+ | | Network (LAN / WiFi) | +----------v-----------+ | Proxmox Host | | (Hypervisor Layer) | +----------+-----------+ | | Virtual Network Bridge (vmbr0) | +----------v-----------+ | Ubuntu 24.04 VM | |----------------------| | SSH Server (port 22) | | RDP Server (3389) | | UFW Firewall | | QEMU Guest Agent | +----------------------+ +----------------------+ | Your Laptop/PC | | (SSH / RDP Client) | +----------+-----------+ | | Network (LAN / WiFi) | +----------v-----------+ | Proxmox Host | | (Hypervisor Layer) | +----------+-----------+ | | Virtual Network Bridge (vmbr0) | +----------v-----------+ | Ubuntu 24.04 VM | |----------------------| | SSH Server (port 22) | | RDP Server (3389) | | UFW Firewall | | QEMU Guest Agent | +----------------------+ +----------------------+ | Your Laptop/PC | | (SSH / RDP Client) | +----------+-----------+ | | Network (LAN / WiFi) | +----------v-----------+ | Proxmox Host | | (Hypervisor Layer) | +----------+-----------+ | | Virtual Network Bridge (vmbr0) | +----------v-----------+ | Ubuntu 24.04 VM | |----------------------| | SSH Server (port 22) | | RDP Server (3389) | | UFW Firewall | | QEMU Guest Agent | +----------------------+ sudo apt update sudo apt install openssh-server -y sudo apt update sudo apt install openssh-server -y sudo apt update sudo apt install openssh-server -y sudo systemctl status ssh sudo systemctl status ssh sudo systemctl status ssh sudo systemctl enable --now ssh sudo systemctl enable --now ssh sudo systemctl enable --now ssh sudo ufw allow ssh sudo ufw enable sudo ufw status sudo ufw allow ssh sudo ufw enable sudo ufw status sudo ufw allow ssh sudo ufw enable sudo ufw status firewall not enabled (skipping reload) firewall not enabled (skipping reload) firewall not enabled (skipping reload) ip addr show ip addr show ip addr show ssh username@<vm_ip> ssh username@<vm_ip> ssh username@<vm_ip> Settings β†’ System β†’ Remote Desktop Settings β†’ System β†’ Remote Desktop Settings β†’ System β†’ Remote Desktop sudo ufw allow 3389/tcp sudo ufw allow 3389/tcp sudo ufw allow 3389/tcp sudo apt update sudo apt install xrdp -y sudo systemctl enable --now xrdp sudo adduser xrdp ssl-cert sudo apt update sudo apt install xrdp -y sudo systemctl enable --now xrdp sudo adduser xrdp ssl-cert sudo apt update sudo apt install xrdp -y sudo systemctl enable --now xrdp sudo adduser xrdp ssl-cert sudo ss -tulpn | grep :3389 sudo ss -tulpn | grep :3389 sudo ss -tulpn | grep :3389 sudo apt install qemu-guest-agent -y sudo systemctl enable --now qemu-guest-agent sudo apt install qemu-guest-agent -y sudo systemctl enable --now qemu-guest-agent sudo apt install qemu-guest-agent -y sudo systemctl enable --now qemu-guest-agent systemctl status ssh systemctl status ssh systemctl status ssh ss -tulpn | grep 3389 ss -tulpn | grep 3389 ss -tulpn | grep 3389 gnome-remote-desktop OR xrdp listening gnome-remote-desktop OR xrdp listening gnome-remote-desktop OR xrdp listening ssh.service could not be found ssh.service could not be found ssh.service could not be found sudo apt install openssh-server sudo apt install openssh-server sudo apt install openssh-server sudo nano /etc/gdm3/custom.conf sudo nano /etc/gdm3/custom.conf sudo nano /etc/gdm3/custom.conf WaylandEnable=false WaylandEnable=false WaylandEnable=false sudo systemctl restart gdm3 sudo systemctl restart gdm3 sudo systemctl restart gdm3 grdctl rdp enable grdctl rdp set-credentials USERNAME PASSWORD grdctl rdp disable-view-only systemctl --user restart gnome-remote-desktop grdctl rdp enable grdctl rdp set-credentials USERNAME PASSWORD grdctl rdp disable-view-only systemctl --user restart gnome-remote-desktop grdctl rdp enable grdctl rdp set-credentials USERNAME PASSWORD grdctl rdp disable-view-only systemctl --user restart gnome-remote-desktop nc -zv <vm_ip> 3389 nc -zv <vm_ip> 3389 nc -zv <vm_ip> 3389 Test-NetConnection <vm_ip> -Port 3389 Test-NetConnection <vm_ip> -Port 3389 Test-NetConnection <vm_ip> -Port 3389 sudo apt remove xrdp -y sudo apt remove xrdp -y sudo apt remove xrdp -y use redirection server name:i:0 use redirection server name:i:0 use redirection server name:i:0 use redirection server name:i:1 use redirection server name:i:1 use redirection server name:i:1 Test-NetConnection <vm_ip> -Port 3389 Test-NetConnection <vm_ip> -Port 3389 Test-NetConnection <vm_ip> -Port 3389 nc -zv <vm_ip> 3389 nc -zv <vm_ip> 3389 nc -zv <vm_ip> 3389 RDP Error 0x204 | v Can you ping VM? | No ---> Network issue / AP isolation | Yes | Is port 3389 open? | No ---> Firewall (Proxmox/UFW) | Yes | Certificate / NLA / Wayland issue RDP Error 0x204 | v Can you ping VM? | No ---> Network issue / AP isolation | Yes | Is port 3389 open? | No ---> Firewall (Proxmox/UFW) | Yes | Certificate / NLA / Wayland issue RDP Error 0x204 | v Can you ping VM? | No ---> Network issue / AP isolation | Yes | Is port 3389 open? | No ---> Firewall (Proxmox/UFW) | Yes | Certificate / NLA / Wayland issue Network β†’ Firewall β†’ Service β†’ Client Network β†’ Firewall β†’ Service β†’ Client Network β†’ Firewall β†’ Service β†’ Client - βœ… Enabling SSH access - βœ… Enabling Remote Desktop (RDP) - βœ… Fixing common issues (like 0x204 error) - βœ… Understanding architecture with diagrams - βœ… Final checklist - Login to Proxmox - Select VM β†’ Console - Go to VM β†’ Firewall - Add rule: Direction: IN Port: 22 Protocol: TCP - Direction: IN - Protocol: TCP - Direction: IN - Protocol: TCP - βœ… Remote Desktop - ❌ Disable "Remote Login" (important!) - Username & Password - Proxmox communication - VM β†’ Options - Enable QEMU Guest Agent - FULL shutdown β†’ Start again - Firewall blocked - Wrong service - Wayland issue - NLA mismatch - Disable NLA - Set Security Layer β†’ RDP - Allow insecure connection - Protocol: TCP - User must be logged in on console - [ ] OpenSSH installed - [ ] SSH service running - [ ] UFW allows port 22 - [ ] Proxmox firewall allows port 22 - [ ] SSH connection works - [ ] GNOME Remote Desktop OR xRDP installed - [ ] Port 3389 open - [ ] No service conflict - [ ] Wayland disabled (if needed) - [ ] Credentials configured - [ ] RDP connection works - [ ] QEMU Guest Agent installed - [ ] Enabled in Proxmox - [ ] IP visible in dashboard - [ ] VM reachable via ping - [ ] Ports 22 & 3389 reachable - [ ] Same subnet / no AP isolation - πŸ” Certificate mismatch (GNOME RDP bug in 24.04) - πŸ”₯ Proxmox-level firewall blocking port 3389 - πŸ’€ VM power/suspend issues - πŸ”’ Strict Network Level Authentication (NLA) - Open Microsoft Remote Desktop - Right-click your Ubuntu connection β†’ Export - Open the .rdp file in a text editor - Save and re-import - Go to: VM β†’ Firewall β†’ Options - Check if firewall is Enabled - Go to: Settings β†’ Power - Set: Screen Blank β†’ Never Automatic Suspend β†’ Off - Screen Blank β†’ Never - Automatic Suspend β†’ Off - Screen Blank β†’ Never - Automatic Suspend β†’ Off - Open RDP settings β†’ Advanced - Set: β€œIf server authentication fails” β†’ πŸ‘‰ Connect and don’t warn me - β€œIf server authentication fails” β†’ πŸ‘‰ Connect and don’t warn me - β€œIf server authentication fails” β†’ πŸ‘‰ Connect and don’t warn me - 192.168.x.x β†’ Local network (should work easily) - External IP β†’ You need: Port forwarding Router config Firewall rules - Port forwarding - Router config - Firewall rules - Port forwarding - Router config - Firewall rules - Merge this into your full blog cleanly - Or convert everything into a professional Medium/LinkedIn article format - SSH requires OpenSSH inside VM (not Proxmox-level) - RDP issues in Ubuntu 24.04 are mostly: Wayland Service conflicts Firewall rules - Service conflicts - Firewall rules - QEMU Guest Agent is critical for stability - Always validate: - Service conflicts - Firewall rules