Cómo cambiar el puerto de Escritorio remoto (RDP) en Windows Server
Sacar el Escritorio remoto del puerto TCP 3389 por defecto es una de las formas más rápidas de reducir la avalancha de intentos de inicio de sesión automáticos que recibe cualquier servidor Windows público. Esta guía explica cómo cambiar el puerto RDP en Windows Server 2016, 2019 y 2022 con PowerShell, abrir el nuevo puerto en el firewall antes del cambio y volver atrás con seguridad desde la consola VNC si algo falla. Los pasos son iguales en los servidores cloud de JUSTG en Johannesburgo, Moscú, Tokio y Seúl y en los servidores dedicados. El ejemplo usa el puerto 40125 y la IP 203.0.113.10.
Paso 1: Elige un puerto libre para Escritorio remoto
Escoge un número entre 1025 y 49151 que no use ninguna otra aplicación. Evita el rango 49152-65535, que Windows reserva como rango dinámico para conexiones salientes. Comprueba el puerto RDP actual y que el elegido está libre (el segundo comando no debe devolver nada):
Get-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -Name PortNumber
Get-NetTCPConnection -LocalPort 40125 -ErrorAction SilentlyContinueAntes de empezar, abre en otra pestaña la consola VNC desde el área de clientes (Mis productos y servicios → tu servidor → panel de gestión). Si el nuevo puerto no funciona, por ahí podrás volver a entrar.
Paso 2: Abre primero el nuevo puerto RDP en el Firewall de Windows
Permite siempre el nuevo puerto antes de tocar el registro; si no, al reiniciar el servicio te quedarás fuera. RDP usa TCP para la sesión y UDP para mejorar la experiencia en enlaces con mucha latencia, así que crea las dos reglas:
$port = 40125
New-NetFirewallRule -DisplayName "RDP custom TCP $port" -Direction Inbound -Protocol TCP -LocalPort $port -Action Allow
New-NetFirewallRule -DisplayName "RDP custom UDP $port" -Direction Inbound -Protocol UDP -LocalPort $port -Action AllowSi hay otro firewall delante del servidor (por ejemplo, uno físico ante un servidor dedicado), abre también allí el mismo puerto.
Paso 3: Cambia PortNumber en el registro y reinicia TermService
El puerto de escucha de RDP se guarda en el valor PortNumber de la clave RDP-Tcp. Modifícalo y reinicia el servicio Remote Desktop Services. Hace falta -Force porque el servicio UmRdpService depende de él:
$port = 40125
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -Name PortNumber -Value $port
Restart-Service -Name TermService -ForcePaso 4: Conecta con IP:puerto y verifica
En el cliente de Escritorio remoto escribe la dirección del servidor, dos puntos y el puerto. Desde PowerShell puedes probar el puerto y abrir el cliente de una vez:
# On the server (VNC console or new RDP session)
Get-NetTCPConnection -LocalPort 40125 -State Listen
# On your PC
Test-NetConnection -ComputerName 203.0.113.10 -Port 40125
mstsc /v:203.0.113.10:40125Con IPv6, pon la dirección entre corchetes: [2001:db8::10]:40125. Recuerda actualizar los archivos .rdp guardados, tu gestor de contraseñas y la configuración de tus compañeros.
Paso 5: Cierra el puerto 3389 y limita el acceso
Cuando hayas entrado correctamente por el nuevo puerto, desactiva las reglas predeterminadas de Escritorio remoto para que el 3389 deje de estar accesible y, si quieres, limita la nueva regla al rango de IP de tu oficina:
# Built-in Remote Desktop rules (language-independent group ID)
Disable-NetFirewallRule -Group "@FirewallAPI.dll,-28752"
# Optional: only allow your own IP to reach the new port
Set-NetFirewallRule -DisplayName "RDP custom TCP 40125" -RemoteAddress 198.51.100.0/24Paso 6: Revierte desde la consola VNC si te quedas fuera
Si no consigues conectar por el nuevo puerto, abre la consola VNC, inicia sesión y restaura la configuración por defecto:
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -Name PortNumber -Value 3389
Enable-NetFirewallRule -Group "@FirewallAPI.dll,-28752"
Restart-Service -Name TermService -ForceEn pocos segundos el Escritorio remoto volverá al 3389. Después repite con calma los pasos 2 a 4, revisando errores en el número de puerto y cualquier firewall externo.
Preguntas frecuentes
¿Hay que reiniciar Windows Server después de cambiar el puerto RDP?
No, basta con reiniciar el servicio TermService. Si el servicio no se deja reiniciar, un reinicio completo también sirve.
Cambié el puerto pero RDP sigue escuchando en el 3389.
Comprueba que ninguna directiva de grupo o herramienta de administración remota sobrescriba el valor y que editaste la clave RDP-Tcp. Luego vuelve a ejecutar los comandos de verificación del paso 4.
¿Un puerto RDP personalizado afecta al rendimiento desde China o África?
No. La latencia depende del enrutamiento, no del número de puerto. Los servidores de JUSTG en Moscú y Johannesburgo usan China Telecom CN2 GIA y los de Tokio el enrutamiento premium de China Telecom, sea cual sea el puerto de RDP.
Si tras cambiar el puerto sigues sin poder acceder por Escritorio remoto, abre un ticket con el soporte técnico de JUSTG indicando el puerto elegido y la salida del paso 4.