Herramientas de usuario

Herramientas del sitio


informatica:software:rustdesk

¡Esta es una revisión vieja del documento!


RustDesk

RustDesk es un software de acceso remoto y control remoto de código abierto. RustDesk permite a los usuarios conectarse a un dispositivo remoto y controlar su pantalla y teclado. RustDesk es una buena opción para los usuarios que buscan una alternativa gratuita y de código abierto a software de acceso remoto comercial como TeamViewer o AnyDesk.

Plataformas soportadas:

  • Linux
  • Windows
  • macOS
  • Android
  • iOS (solo ver, no controlar)

Características

  • Acceso remoto a cualquier dispositivo
  • Control remoto de la pantalla y el teclado
  • Transferencia de archivos
  • Soporte para múltiples usuarios
  • Chat en tiempo real
  • Seguridad de grado militar

Casos de uso

Algunos ejempos de cómo se puede utilizar RustDesk:

  • Para proporcionar soporte técnico a distancia a los clientes
  • Para acceder a un dispositivo remoto desde cualquier lugar
  • Para controlar un dispositivo remoto para fines educativos o de investigación
  • Para compartir la pantalla de un dispositivo con otros usuarios

Instalación de servidor

Aunque podemos usar el servidor público que nos ofrece RustDesk por defecto, tenemos la positibilidad de instalar nosotros un servidor de RustDesk y no depender del servidor central.

El servidor de RustDesk usa los siguientes puertos:

  • 21115: se usa para la prueba del tipo de NAT.
  • 21116 (TCP y UDP): se usa para la conexión y para el registro de ID.
  • 21117: se usa para los servicios de “relay”.
  • 21118: se usa para los clientes web.
  • 21119: se usa para los clientes web.

Debemos asegurarnos de tenerlos abiertos si estamos detrás de un router o firewall.

La instalación del servidor consta de dos ejecutables:

  • hbbs: servidor de ID y P2P
  • hbbr: servidor de retransmisión (relay).

Docker

Ejemplo de docker-compose.yml para usar con Docker Compose:

---
version: '3'

services:
  hbbs:
    container_name: rustdesk-hbbs
    image: rustdesk/rustdesk-server:latest
    command: hbbs -r remoto.ejemplo.com
    volumes:
      - ./data:/root
    network_mode: "host"
    depends_on:
      - hbbr
    restart: unless-stopped

  hbbr:
    container_name: rustdesk-hbbr
    image: rustdesk/rustdesk-server:latest
    command: hbbr
    volumes:
      - ./data:/root
    network_mode: "host"
    restart: unless-stopped

Al usar network_mode: "host" no es necesario indicar qué puertos exponer del contenedor hacia la máquina anfitriona.

En el directorio data, cuando ya esté funcionando el servidor, encontraremos la base de datos y las claves asimétricas (privada y pública).

Conseguir la clave pública

Para usar nuestro servidor en la configuración de los clientes de RustDesk, necesitaremos indicar también la clave pública de cifrado.

En la instalación de Docker, si lo hemos hecho con el ejemplo de esta wiki, tendremos que entrar en el directorio data y ver el contenido del fichero id_ed25519.pub.

Se puede usar RustDesk sin especificar la clave pública, pero la conexión no será cifrada. Si no queremos permitir a los clientes que se conecten sin clave pública, añadiríamos la opción -k a la hora de ejeccutar los comandos hbbs y hbbr

Cliente

Los clientes son tanto los equipos que quieren conectarse y/o administrar remotamente otros equipos, como los equipos a controlar.

Si no vamos a usar el servidor público de RustDesk y queremos configurar el nuestro (u otro), hay que ir a la sección “ID/relay server” y cubrir dos campos:

  • ID server: la IP o el nombre de dominio donde tenemos instalado el servidor de RustDesk.
  • Key: clave pública de dicho servidor (contenido del fichero id_ed25519.pub).

RustDesk deducirá automáticamente los otros dos campos (si tienen la configuración por defecto en el servidor).

Windows

El cliente de Windows permite aplicar la configuración escribiéndola directamente en el ejecutable. Por ejemplo, si el ejecutable es rustdesk.exe, lo renombraremos de la siguiente manera:

rustdesk-host=<host-ip-or-name>,key=<public-key-string>.exe

De tal manera que si el servidor está en remoto.ejemplo.com y la clave pública es Er1o6f4332CvcXaPxZ7EBm2e70R1234vXW3avgJheRw=, el nombre del ejecutable final será:

rustdesk-remoto.ejemplo.com,key=Er1o6f4332CvcXaPxZ7EBm2e70R1234vXW3avgJheRw=.exe
informatica/software/rustdesk.1696152602.txt.gz · Última modificación: por tempwin