RustDesk: controla otro ordenador a distancia y monta tu propio servidor
Instálalo, conéctate y, si quieres no depender de nadie, monta tu servidor.
Índice
- Cómo usarlo, de más fácil a más privado
- Instalar en cada equipo
- Instalar
- En Windows
- En Linux
- En macOS
- En Android
- En iOS
- En Windows
- En Linux
- En macOS
- En Android
- En iOS
- En Linux
- En Windows
- En macOS
- En Linux
- En Windows
- En macOS
- En Windows
- En Linux
- En macOS
- En Android
- En iOS
- Preparar el equipo que quieres controlar
- Conectar
- Montar tu propio servidor
- Instalar Docker en el servidor
- Crear y arrancar el servidor
- Abrir los puertos (solo si el servidor es público)
- Configurar cada equipo con tu servidor
- Mantenimiento
- Si algo falla

Escritorio remoto · RustDesk
- Gratis
- Código abierto: Sí, el cliente y el servidor gratuito (AGPL-3.0)
- Windows, macOS, Linux, Android, iOS y web
ConsiguesManejar tu PC desde otro equipo o desde el móvil, y un servidor propio para no depender de los de RustDesk.
Tiempo15 minDificultadMedia
NecesitasDos equipos con internet · Para el servidor propio: un equipo Linux siempre encendido
RustDesk te deja ver y manejar la pantalla de otro ordenador desde donde estés: el PC de casa desde el portátil, o desde el móvil. Es gratis y de código abierto. Esta guía cubre cómo instalarlo, cómo conectarte y cómo montar tu propio servidor para no depender de los de RustDesk.
Pasos de la documentación oficial de RustDesk, consultada el 8 de octubre de 2026, versión 1.5.0 del programa. Los nombres de menú pueden cambiar entre versiones.
Cómo usarlo, de más fácil a más privado
- Con los servidores de RustDesk: lo más rápido. Instalas, copias el número (ID) y la contraseña, y conectas. Los servidores públicos solo ayudan a que se encuentren los equipos.
- Con Tailscale: conectas por la dirección de Tailscale del otro equipo, sin pasar por nadie. Si ya tienes Tailscale, es lo más cómodo.
- Con tu propio servidor: tus equipos se buscan en un servidor tuyo. Es lo más independiente, pero necesita un equipo siempre encendido.
Quien tenga el número y la contraseña de un equipo puede controlarlo entero. No los compartas y usa una contraseña larga.
Instalar en cada equipo
Instálalo en el equipo que vas a controlar y en el que controla. Elige tu sistema:
Instalar
En Windows
- Instálalo con WinGet:
winget install RustDesk.RustDesk
O descarga el instalador de rustdesk.com.
- Ábrelo y, cuando lo ofrezca, instálalo como servicio.
En Linux
CachyOS y Arch
RustDesk no está en los repositorios oficiales de Arch ni de CachyOS. La vía oficial más cómoda es su paquete Flatpak en Flathub:
sudo pacman -S flatpak
flatpak install flathub com.rustdesk.RustDesk
flatpak run com.rustdesk.RustDesk
Ubuntu, Debian y Fedora
Descarga el paquete .deb (Ubuntu y Debian) o .rpm (Fedora) de las versiones oficiales e instálalo:
sudo apt install ./rustdesk-*.deb
sudo dnf install ./rustdesk-*.rpm
En macOS
- Instálalo con Homebrew:
brew install --cask rustdesk
O descarga el .dmg de rustdesk.com y arrástralo a Aplicaciones.
.dmg: arrastra RustDesk a la carpeta Applications. Imagen: RustDesk, documentación oficial.- Ábrelo y concede los permisos de grabación de pantalla y accesibilidad que pida.
En Android
- Instala RustDesk desde Google Play.
- Para controlar otros equipos basta con abrirla. Para que otros te controlen a ti, acepta el permiso de captura de pantalla.
En iOS
- Instala RustDesk Remote Desktop desde la App Store.
- Ábrela y escribe el ID del equipo que quieres controlar. En iOS solo se controla: el iPhone no se puede manejar desde fuera.
Preparar el equipo que quieres controlar
Este paso se hace en el equipo al que te vas a conectar. Elige su sistema:
En Windows
- Abre RustDesk. En la ventana principal verás tu ID (un número) y una contraseña temporal.
- Si te aparece el aviso «instalar RustDesk», pulsa Instalar y acepta el control de cuentas. Así queda como servicio: arranca con Windows, puedes conectar con el equipo recién encendido y ves la pantalla de bloqueo y las ventanas de administrador. Sin instalar, solo se controla mientras alguien tenga la sesión abierta.
- Para entrar sin nadie delante, pon una contraseña fija: pulsa el menú ⋮ junto a tu ID, entra en Security, pulsa Unlock security settings y en Password elige Use permanent password o Use both passwords. Escribe una contraseña larga.
- Comprueba el cortafuegos de Windows: al instalar, acepta que RustDesk use redes privadas.
En Linux
- Abre RustDesk. Verás tu ID y una contraseña temporal.
- Comprueba tu sesión gráfica: en Ajustes, o con
echo $XDG_SESSION_TYPE(salex11owayland). Para ser controlado, lo más fiable es X11. En Wayland, RustDesk pide permiso de compartir pantalla cada vez que alguien se conecta y no puedes dejarlo desatendido. En GNOME y otros, elige «Xorg» o «X11» en la pantalla de inicio de sesión, en el engranaje. - Pon una contraseña fija: menú ⋮ junto al ID → Security → Unlock security settings → Use permanent password.
- Para que arranque con el equipo: si lo instalaste con el paquete
.debo.rpm, ya es un servicio:sudo systemctl enable --now rustdesk. Con Flatpak, añadecom.rustdesk.RustDeska las aplicaciones de inicio de tu escritorio.
Controlar desde Linux, con Wayland, funciona sin problema. Los límites son al ser controlado.
En macOS
- Abre RustDesk. Verás tu ID y una contraseña temporal.
- macOS pide dos permisos. Cuando salga el aviso, pulsa Abrir Ajustes del Sistema; si no sale, ve tú a Ajustes del Sistema → Privacidad y seguridad:
- Grabación de pantalla y audio del sistema: activa RustDesk. Sin esto la pantalla sale negra.
- Accesibilidad: activa RustDesk. Sin esto no puedes pulsar ni escribir.
El permiso de grabación de pantalla, en una versión anterior de macOS (allí el panel se llamaba Seguridad y privacidad). Imagen: RustDesk, documentación oficial.
El de accesibilidad, en la misma versión anterior: RustDesk marcado. Si no sale en la lista, pulsa + y añádelo desde Aplicaciones; para cambiar algo, quizá tengas que pulsar antes el candado. Imagen: RustDesk, documentación oficial. - Cierra RustDesk del todo y ábrelo otra vez para que lea los permisos.
- Pon una contraseña fija: menú ⋮ junto al ID → Security → Unlock security settings → Use permanent password.
- Para que arranque al iniciar sesión: Ajustes del Sistema → General → Ítems de inicio y añade RustDesk.
En Android
El móvil Android sí puede ser controlado, con algo más de trabajo:
- Abre RustDesk y pulsa Aceptar conexiones (o Start service).
- Concede el permiso de captura de pantalla cuando lo pida.
- Para poder tocar la pantalla desde fuera, activa el servicio de accesibilidad de RustDesk: Ajustes → Accesibilidad → Aplicaciones instaladas → RustDesk y actívalo.
- Quita el ahorro de batería a RustDesk (Ajustes → Aplicaciones → RustDesk → Batería → Sin restricciones), o Android lo cerrará.
En iOS
El iPhone y el iPad no se pueden controlar desde fuera: iOS no lo permite. La aplicación solo sirve para controlar otros equipos. Si necesitas ver la pantalla del iPhone, tendrás que usar otra solución de Apple.
Conectar
- En el equipo desde el que controlas, abre RustDesk.
- Escribe el ID del otro equipo en el recuadro y pulsa Connect. Si prefieres conectar por Tailscale, escribe en su lugar la dirección de Tailscale del otro equipo, la que empieza por
100.. - Escribe la contraseña.
Con la sesión abierta tienes la barra superior para cambiar la calidad, copiar y pegar, enviar archivos y chatear. Para pasar archivos sin controlar la pantalla, en la ventana principal elige la opción de transferencia de archivos.
Para conectar por la dirección de Tailscale, el equipo controlado tiene que tener activado Direct IP access en los ajustes de red. Usa el puerto 21118 de ese equipo.
En el iPhone la aplicación solo sirve para controlar otros equipos: no se puede controlar el iPhone desde fuera.
Montar tu propio servidor
El servidor gratuito de RustDesk tiene dos piezas: hbbs, que sabe dónde está cada equipo, y hbbr, que pasa la conexión cuando no se puede hacer directa. Pide muy pocos recursos: vale un portátil viejo, una Raspberry Pi o un servidor pequeño.
La versión gratuita no trae panel web ni cuentas de usuario; eso es del servidor de pago. Aquí solo hay servidor, clave y contraseñas.
Elige dónde ponerlo:
- En casa, dentro de Tailscale (recomendado): no abres nada en el router. Los clientes usan la dirección de Tailscale del servidor, así que solo funcionan tus equipos con Tailscale encendido.
- En un servidor con dirección pública: vale para equipos que no están en tu red, pero tienes que abrir puertosDecirle al router que lo que llegue a un número de puerto lo mande a un equipo concreto de casa. Es lo que pide un servidor de juego para que entren de fuera. y vigilarlo. Los puertos están en el paso del cortafuegos.
Instalar Docker en el servidor
El servidor se monta con Docker, que funciona mejor en Linux. Elige el sistema del equipo que hará de servidor:
En Linux
CachyOS y Arch
sudo pacman -S docker docker-compose
sudo systemctl enable --now docker
Ubuntu y Debian
Sigue la guía oficial de Docker para tu versión (añade su repositorio y instala docker-ce y el complemento docker-compose-plugin). Después:
sudo systemctl enable --now docker
Fedora
sudo dnf install docker docker-compose
sudo systemctl enable --now docker
En Windows
- Descarga Docker Desktop de docker.com e instálalo. Acepta usar WSL 2 cuando lo proponga y reinicia.
- Abre Docker Desktop y espera a que ponga «Engine running».
- Comprueba en PowerShell:
docker version
En Windows el servidor funciona, pero el equipo tiene que estar siempre encendido y con Docker Desktop abierto. Para algo permanente, mejor un equipo Linux. Usa el archivo compose.yml de Windows y macOS que está más abajo, no el de Linux.
En macOS
- Descarga Docker Desktop de docker.com (elige chip Apple o Intel) o instálalo con Homebrew:
brew install --cask docker. - Ábrelo, acepta los permisos y espera a que ponga «Engine running».
- Comprueba en la Terminal:
docker version
Un Mac se duerme y el servidor deja de contestar. Para algo permanente, mejor un equipo Linux. Usa el archivo compose.yml de Windows y macOS que está más abajo, no el de Linux.
Crear y arrancar el servidor
- Crea una carpeta para el servidor y entra en ella:
mkdir -p ~/rustdesk-servidor/data
cd ~/rustdesk-servidor
- Crea el archivo
compose.ymlcon este contenido:
services:
hbbs:
container_name: hbbs
image: rustdesk/rustdesk-server:latest
command: hbbs
volumes:
- ./data:/root
network_mode: "host"
depends_on:
- hbbr
restart: unless-stopped
hbbr:
container_name: hbbr
image: rustdesk/rustdesk-server:latest
command: hbbr
volumes:
- ./data:/root
network_mode: "host"
restart: unless-stopped
- Arráncalo:
sudo docker compose up -d
- Mira la clave pública que se ha generado. La necesitarás en todos los equipos:
cat data/id_ed25519.pub
Haz copia de la carpeta data. Si pierdes esa clave, tendrás que configurar de nuevo todos los equipos. El archivo id_ed25519 (sin .pub) es secreto: no lo compartas.
Archivo compose.yml en Windows y macOS
network_mode: "host" solo funciona en Linux. En Windows y macOS usa este archivo en su lugar. Cambia 100.x.y.z por la dirección de Tailscale del equipo (o su dirección pública), sin cambiar los puertos:
services:
hbbs:
container_name: hbbs
image: rustdesk/rustdesk-server:latest
command: hbbs -r 100.x.y.z:21117
volumes:
- ./data:/root
ports:
- "21115:21115"
- "21116:21116"
- "21116:21116/udp"
depends_on:
- hbbr
restart: unless-stopped
hbbr:
container_name: hbbr
image: rustdesk/rustdesk-server:latest
command: hbbr
volumes:
- ./data:/root
ports:
- "21117:21117"
restart: unless-stopped
En Windows, para crear la carpeta usa mkdir rustdesk-servidor\data y entra con cd rustdesk-servidor, y para ver la clave, type data\id_ed25519.pub. En esos dos sistemas, quita sudo de los comandos de Docker.
Abrir los puertos (solo si el servidor es público)
Con Tailscale, sáltate este paso. Si el servidor tiene dirección pública, hay que abrir estos puertos:
- 21115 (TCP) y 21117 (TCP).
- 21116 en TCP y UDP. Los dos hacen falta.
- Deja 21118 y 21119 cerrados, salvo que uses el cliente web.
Primero, en el cortafuegos del propio servidor. Elige su sistema:
En Linux
UFW (Ubuntu, Debian, Mint)
sudo ufw allow 21115:21117/tcp
sudo ufw allow 21116/udp
sudo ufw status
firewalld (Fedora)
sudo firewall-cmd --permanent --add-port=21115-21117/tcp
sudo firewall-cmd --permanent --add-port=21116/udp
sudo firewall-cmd --reload
En Windows
Abre PowerShell como administrador (clic derecho en Inicio → Terminal (Administrador)) y pega:
New-NetFirewallRule -DisplayName "RustDesk servidor TCP" -Direction Inbound -Protocol TCP -LocalPort 21115-21117 -Action Allow
New-NetFirewallRule -DisplayName "RustDesk servidor UDP" -Direction Inbound -Protocol UDP -LocalPort 21116 -Action Allow
En macOS
El cortafuegos de macOS viene apagado, así que normalmente no hay que hacer nada. Si lo tienes activado, en Ajustes del Sistema → Red → Cortafuegos permite las conexiones entrantes de Docker.
Después, en el router: reenvía esos mismos puertos hacia la dirección local del servidor (en su panel suele llamarse «Port forwarding», «Servidores virtuales» o «NATLo que hace el router para que todos los equipos de casa salgan a internet con una sola dirección. Por eso, desde fuera, nadie entra en tu partida sin ayuda: abrir un puerto, UPnP o una red como Tailscale.»). Y dale al servidor una dirección local fija o una reserva de DHCP, para que no cambie.
Configurar cada equipo con tu servidor
Se hace en cada equipo, el controlado y el que controla. Elige su sistema:
En Windows
- En RustDesk, pulsa el menú ⋮ junto a tu ID y elige Network.
- Pulsa Unlock network settings y acepta el aviso de administrador.
- En ID server, escribe la dirección del servidor: su dirección de Tailscale (
100.x.y.z) o su nombre en Tailscale, o su dirección pública. Sin puerto. - Deja Relay server y API server vacíos. El de relay lo deduce RustDesk.
- En Key, pega el contenido de
id_ed25519.pub. - Pulsa Apply.
En Linux
- En RustDesk, pulsa el menú ⋮ junto a tu ID y elige Network.
- Pulsa Unlock network settings; si pide contraseña, es la de tu usuario.
- En ID server, escribe la dirección del servidor, sin puerto: su dirección de Tailscale (
100.x.y.z) o su dirección pública. - Deja Relay server y API server vacíos.
- En Key, pega el contenido de
id_ed25519.pub. - Pulsa Apply.
En macOS
- En RustDesk, pulsa el menú ⋮ junto a tu ID y elige Network.
- Pulsa Unlock network settings y escribe tu contraseña de Mac.
- En ID server, escribe la dirección del servidor, sin puerto: su dirección de Tailscale (
100.x.y.z) o su dirección pública. - Deja Relay server y API server vacíos.
- En Key, pega el contenido de
id_ed25519.pub. - Pulsa Apply.
En Android
- En RustDesk, entra en la pestaña Settings, abajo, y pulsa ID/Relay server.
- En ID server, escribe la dirección del servidor, sin puerto: su dirección de Tailscale (
100.x.y.z) o su dirección pública. Para usar la de Tailscale, la aplicación de Tailscale tiene que estar conectada en el móvil. - Deja Relay server y API server vacíos.
- En Key, pega la clave pública. Lo más cómodo es mandártela por un mensaje a ti mismo y copiarla desde ahí.
- Pulsa OK.
En iOS
- En RustDesk, pulsa el menú ⋮ y entra en ID/Relay server.
- En ID server, escribe la dirección del servidor, sin puerto: su dirección de Tailscale (
100.x.y.z) o su dirección pública. Para usar la de Tailscale, la aplicación de Tailscale tiene que estar conectada en el iPhone. - Deja Relay server y API server vacíos.
- En Key, pega la clave pública. Lo más cómodo es mandártela por un mensaje a ti mismo y copiarla desde ahí.
- Pulsa OK.
Abajo de la ventana principal debe poner que está listo. Para no escribirlo a mano en cada equipo de escritorio, configura el primero, elige Export server config, y en los demás Import server config con ese texto.
Mantenimiento
- Actualizar el servidor:
sudo docker compose pully despuéssudo docker compose up -d. - Ver qué pasa:
sudo docker logs hbbsenseña los equipos que se registran. - Forzar siempre el relay: añade
environment: [ALWAYS_USE_RELAY=Y]enhbbs.
Si algo falla
- No encuentra el servidor: revisa la dirección del ID server, que la clave sea la del servidor y, si es público, que el puerto 21116 esté abierto en TCP y UDP.
- El ID no existe: el otro equipo tiene otro servidor configurado, o no está encendido.
- Imagen negra en macOS: faltan los permisos de grabación de pantalla y accesibilidad.
- No ves la pantalla de bloqueo o de administrador en Windows: instala RustDesk como servicio.
- En Linux con Wayland no se controla el equipo: arranca el equipo controlado con una sesión X11 o revisa los límites de RustDesk con Wayland en su documentación.
- Va lento: mira en la barra de la sesión si va directa o por relé, y baja la calidad de imagen.
Qué ha cambiado
- Imágenes oficiales de la instalación y los permisos en macOS.
- Capturas de 2026: la contraseña fija en Windows y Linux, y Android con el servicio en marcha.
- Imágenes paso a paso en macOS (instalar y accesibilidad), Android (permisos, servicio y servidor) e iPhone (conectar por ID). En Android, el servidor está en la pestaña Settings.
- Imágenes de la documentación oficial: ventana principal, conectar desde el móvil y permiso de pantalla en macOS.


