RustDesk permite el control remoto de dispositivos sin depender de servicios en la nube. Gracias a su servidor autoalojable, puedes gestionar conexiones de forma segura, privada y eficiente.
Con el aumento de la preocupación por la privacidad, muchas organizaciones buscan alternativas a las herramientas de acceso remoto tradicionales. RustDesk es una de las opciones más atractivas: código abierto, multiplataforma, cifrado de extremo a extremo y, lo más importante, con posibilidad de autoalojamiento total del servidor de conexión.
En este artículo te explicamos cómo funciona el backend de RustDesk, sus componentes clave y cómo desplegarlo en servidores propios, tanto de forma manual como mediante Docker o docker-compose.
¿Qué es RustDesk y qué compone su servidor?
RustDesk permite controlar ordenadores de forma remota sin intermediarios en la nube. Para ello, su infraestructura incluye:
hbbs
(RustDesk Broker/Signaling Server): gestiona IDs y conexiones entrantes.hbbr
(Relay Server): actúa como relé cuando no es posible conexión P2P directa.rustdesk-utils
: utilidades CLI para generar claves y otras tareas administrativas.
Ambos servidores se comunican con los clientes para facilitar el acceso remoto, autenticación y transmisión de datos cifrados.

Opciones de despliegue
1. Despliegue rápido con Docker
Ejecución directa (modo clásico)
# Inicia hbbs con Docker
docker run --name hbbs --net=host -v "$PWD/data:/root" -d rustdesk/rustdesk-server:latest hbbs -r <IP_RELAY:21117>
# Inicia hbbr con Docker
docker run --name hbbr --net=host -v "$PWD/data:/root" -d rustdesk/rustdesk-server:latest hbbr
Si no usas
--net=host
, algunas funciones como la conexión directa P2P no funcionarán.
Con puertos explícitos (sin --net=host
)
docker run --name hbbs -p 21115:21115 -p 21116:21116 -p 21116:21116/udp -p 21118:21118 \
-v "$PWD/data:/root" -d rustdesk/rustdesk-server:latest hbbs -r <IP_RELAY:21117>
docker run --name hbbr -p 21117:21117 -p 21119:21119 \
-v "$PWD/data:/root" -d rustdesk/rustdesk-server:latest hbbr
docker-compose básico
version: '3'
services:
hbbs:
container_name: hbbs
image: rustdesk/rustdesk-server:latest
ports:
- 21115:21115
- 21116:21116
- 21116:21116/udp
- 21118:21118
command: hbbs -r rustdesk.example.com:21117
volumes:
- ./data:/root
restart: unless-stopped
hbbr:
container_name: hbbr
image: rustdesk/rustdesk-server:latest
ports:
- 21117:21117
- 21119:21119
volumes:
- ./data:/root
restart: unless-stopped
2. Imagen con supervisión (S6 Overlay)
Ideal para simplificar el despliegue en un solo contenedor.
docker run --name rustdesk-server --net=host \
-e "RELAY=rustdeskrelay.example.com" \
-e "ENCRYPTED_ONLY=1" \
-v "$PWD/data:/data" -d rustdesk/rustdesk-server-s6:latest
Variables útiles
RELAY
: IP o FQDN del servidor de relé.ENCRYPTED_ONLY=1
: fuerza uso exclusivo de conexiones cifradas.KEY_PUB
/KEY_PRIV
: claves públicas y privadas para cifrado.DB_URL
: ruta del archivo SQLite.
Seguridad: generación y gestión de claves
Puedes generar un par de claves usando:
docker run --rm --entrypoint /usr/bin/rustdesk-utils rustdesk/rustdesk-server-s6:latest genkeypair
Guarda las claves y configúralas mediante variables o secretos de Docker:
-e "KEY_PUB=..."
-e "KEY_PRIV=..."
O con Docker Secrets si usas Swarm o Kubernetes.
¿Y si no quieres usar Docker?
También puedes compilar el servidor manualmente:
git clone https://github.com/rustdesk/rustdesk-server
cd rustdesk-server
cargo build --release
Esto generará los binarios hbbs
, hbbr
y rustdesk-utils
en target/release
.
Requisitos de puertos
Componente | Puerto TCP | Puerto UDP | Función |
---|---|---|---|
hbbs | 21115-21116 | 21116 | Control de sesión y señalización |
hbbr | 21117-21119 | – | Relay para conexión indirecta |
Asegúrate de abrir estos puertos en tu firewall.
Conclusión
RustDesk representa una alternativa sólida, libre y auditable a servicios privativos de acceso remoto. Para sysadmins, su arquitectura autoalojada ofrece control total, seguridad y adaptabilidad para entornos empresariales, laboratorios, centros de datos o redes remotas.
Puedes consultar más información y documentación oficial en: