RustDesk es la solución perfecta para acceso remoto seguro, de código abierto y bajo tu control completo. En este artículo te mostraré cómo desplegar tu propio servidor, configurarlo como una red cerrada y asegurarlo para uso corporativo.
Diagrama realizado con https://savnet.co
RustDesk es una alternativa de código abierto a herramientas como TeamViewer o AnyDesk, pero con una ventaja clave: puedes autoalojarlo. Esto significa:
- Control total sobre tus datos
- Sin límites de conexión
- Costo cero en licencias (solo el servidor)
Paso 1: Preparar el servidor
Necesitarás un servidor Linux con Ubuntu 22.04 o 24.04 LTS con:
- 1 vCPU, 2 GB RAM (suficiente para decenas de conexiones)
- Ubuntu 22.04 LTS o superior
- IP pública fija
Paso 2: Configuración inicial del servidor
Conéctate por SSH y actualiza el sistema:
ssh root@tu_ip_servidor
apt update && apt upgrade -y
timedatectl set-timezone America/Bogota # Ajusta a tu zona horaria
reboot
Paso 3: Instalar Docker y Docker Compose
Sigue la instalación oficial de Docker:
# Instalar dependencias
apt install -y ca-certificates curl gnupg
# Agregar repositorio oficial de Docker
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
chmod a+r /etc/apt/keyrings/docker.asc
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] \
https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" \
| tee /etc/apt/sources.list.d/docker.list > /dev/null
# Instalar Docker
apt update
apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
# Verificar instalación
docker --version
docker compose version
Paso 4: Preparar la estructura de RustDesk
mkdir -p /opt/rustdesk-server/data
cd /opt/rustdesk-server
Paso 5: Crear el archivo docker-compose.yml
Crea nano /opt/rustdesk-server/compose.yml:
services:
hbbr:
container_name: hbbr
image: rustdesk/rustdesk-server:latest
command: hbbr
volumes:
- ./data:/root
network_mode: "host"
restart: unless-stopped
hbbs:
container_name: hbbs
image: rustdesk/rustdesk-server:latest
command: hbbs
volumes:
- ./data:/root
network_mode: "host"
depends_on:
- hbbr
restart: unless-stopped
Importante: Usamos network_mode: "host" porque RustDesk necesita ver la IP real del host para funcionar correctamente.
Paso 6: Levantar los servicios
# Levantar servicios
docker compose up -d
# Verificar que estén corriendo
docker ps
# Ver logs
docker compose logs
Paso 7: Obtener la clave pública del servidor
Esta clave es crucial para que los clientes confíen en tu servidor:
cat /opt/rustdesk-server/data/id_ed25519.pub && echo ""
Guarda el resultado. Se verá algo como:
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
Paso 8: Configurar el firewall
Puertos necesarios para RustDesk OSS:
- TCP 21115 - Servicio principal
- TCP 21116 - Servicio de ID
- UDP 21116 - Para mejor rendimiento
- TCP 21117 - Servicio de relay
Configurar UFW en el servidor:
# Instalar firewall ufw
apt install -y ufw
# Permitir SSH desde TU IP pública
ufw allow from tu_ip_admin to any port 22
# SI NO TIENES IP pública, permite cualquier origen con
ufw allow 22
# Permitir puertos de RustDesk
ufw allow 21115/tcp
ufw allow 21116/tcp
ufw allow 21116/udp
ufw allow 21117/tcp
# Activar firewall
ufw enable
ufw status verbose
Configurar firewall del proveedor cloud:
En el panel de tu proveedor cloud, crea reglas Inbound que permitan solo desde tus IPs corporativas:
Paso 9: Configurar computador/cliente
En cada equipo:
- Abre RustDesk
- Ve a Settings → Network
- Haz click en Unlock Network Settings
- Ve a Servidor ID/Relay
- Configura:
-
ID Server:
IpServidorRust -
Relay Server:
IpServidorRust - Key: Pega la clave pública obtenida en el paso 7
- API Server: Déjalo vacío (solo para RustDesk Pro)
-
ID Server:
Si quieres usar rápidamente tu configuración da click en el icono de copiar en la parte superior derecha, y el icono de pegar para importar:
Formas de mejorar la seguridad de tu computador/cliente RustDesk
RustDesk ofrece múltiples métodos de autenticación para controlar el acceso remoto de forma segura. Aquí te explico cada opción:
1. Contraseña de un solo uso (One-time password)
- Se genera automáticamente en cada sesión y el usuario debe suministrarla al técnico remoto para que pueda conectarse.
- Opciones de longitud: 6, 8 o 10 dígitos
- La clave cambia en cada sesión.
- Uso ideal: Soporte técnico puntual o accesos temporales
2. Contraseña permanente (Permanent password)
- Clave que especificas manualmente y no cambia entre sesiones
- Permite acceso continuo sin necesidad de compartir nuevas claves
- Uso ideal: Acceso remoto frecuente a tu propio equipo
3. Combinación de ambos métodos (Both passwords)
- Flexibilidad para usar contraseña temporal O permanente
- Uso ideal: Escenarios mixtos (uso personal + soporte ocasional)
4. Autenticación en dos factores (2FA)
- Capa adicional de seguridad
- Opciones: códigos desde app autenticadora o integración con bot de Telegram
- Uso ideal: Equipos accesibles desde internet público
5. Dispositivos de confianza (Trusted devices)
- Solo aplica cuando usas 2FA
- Marcar dispositivos específicos como confiables
- Evita solicitar 2FA en cada conexión desde esos dispositivos
- Mejora la comodidad manteniendo seguridad
6. Configuraciones de seguridad adicionales
- Longitud de contraseña: Configurable según necesidades de seguridad
- Tiempo de expiración: Para contraseñas temporales
- Registro de auditoría: Monitoreo de accesos
Recomendaciones prácticas:
Para uso personal frecuente: Contraseña permanente + 2FA opcional
Para soporte técnico: Contraseña de un solo uso
Para entornos corporativos: 2FA obligatorio + dispositivos de confianza
Para máxima seguridad: Combinación de métodos + registro de auditoría
Estos métodos te permiten balancear seguridad y conveniencia según tus necesidades específicas.
Cómo convertir esto en una red realmente cerrada
1. Bloquear acceso desde Internet público del servidor RustDesk
No permitas acceso a cualquier ip en las reglas del firewall ufw o del operador cloud. Solo permite:
- IPs de tus oficinas
- IP de tu VPN corporativa
- Rangos específicos autorizados
2. Implementar VPN para acceso remoto
La forma más segura: usuarios remotos primero se conectan a la VPN corporativa, luego acceden a RustDesk.
3. Crear usuario administrativo sin root:
adduser adminops
usermod -aG sudo adminops
mkdir -p /home/adminops/.ssh
cp /root/.ssh/authorized_keys /home/adminops/.ssh/authorized_keys
chown -R adminops:adminops /home/adminops/.ssh
chmod 700 /home/adminops/.ssh
chmod 600 /home/adminops/.ssh/authorized_keys
# Deshabilitar root por SSH
if grep -q '^PermitRootLogin' /etc/ssh/sshd_config; then
sed -i 's/^PermitRootLogin.*/PermitRootLogin no/' /etc/ssh/sshd_config
else
echo 'PermitRootLogin no' >> /etc/ssh/sshd_config
fi
sshd -t && systemctl restart ssh
RustDesk Pro: Para necesidades empresariales avanzadas
La versión RustDesk que hemos configurado es excelente para acceso remoto básico, pero si necesitas funcionalidades empresariales avanzadas, RustDesk ofrece una versión Pro con características adicionales:
- Gestión centralizada de usuarios y grupos
- Control de acceso granular (permisos por rol)
- Autenticación LDAP/Active Directory
- Auditoría y logs detallados
- Soporte técnico prioritario
- Funciones de administración masiva
Para estas organizaciones puedes consultar los planes Pro en https://rustdesk.com/pricing/.
¿Necesitas un servidor en la nube? Puedes obtener un Droplet Ubuntu en DigitalOcean usando nuestro enlace de referido y recibir créditos iniciales para probar este tutorial.
¿Has implementado RustDesk en tu organización? ¡Comparte tu experiencia en los comentarios!









Top comments (0)