RustDesk eta RustDesk Web Client

Dokumentu honetan RustDesk soluzioaren hedapen osoa ikusiko dugu, Nola ezagunak diren askorentzat, kontrol urrunetarako open source irtenbiderik onena, TeamViewer-eko doako alternatiba. Post honetan zure instalazio lokal propioa nola egin ikusiko dugu, non hirugarrenik gabe, zure kontrol propioa izan dezazun.

Esan dut, comenzaremos el documento desplegando el servidor de RustDesk en nuestra infraestructura, para luego desplegar los clientes de RustDesk ya preconfigurados en los equipos que queramos controlar remotamente de nuestra organización, sean los PCs de los usuarios para ofrecerles soporte mediante un control remoto, o para conectarnos a nuestros servidores. Azken finean, desplegaremos también el servicio RustDesk Web Client, que como su nombre indica y te podrás imaginar, es un cliente web de RustDesk, para poder conectar a cualquier equipo desde una web, así de fácil.

Por supuesto, en principio todo es local, funcionará en tu red; pero si vas a querer conectarte a los equipos desde Internet (si estás fuera de la organización), o los equipos a controlar están fuera, entonces vas a tener que abrir unos puertos en tu firewall perimetral para permitir el acceso. Siendo los puertos necesarios del 21115tcp al 21117tcp, así como el 21116udp; y si vas a querer usar RustDesk Web Client, entonces también del 21118tcp al 21119tcp.

Veréis que rapidito todo, y gracias a Docker, ya que vamos a desplegar los servicios de RustDesk en contenedores de Docker, así que para comenzar el documento necesitarás una máquina Linux, un Ubuntu Server está bien, con Docker instalado y Docker Compose, así como lo habitual, un nombre de máquina establecido, dirección IP estática, NTP… eta, empezamos!

Para desplegar el servidor de RustDesk bastará con crear su fichero docker-compose.yml, yo lo meteré en una carpeta que crearé llamada ‘rustdesken mi home. Os dejo el ejemplo que viene en la documentación oficial, tendremos en cuenta que si querremos acceso desde el exterior deberemos indicar nuestro FQDN en el ‘commanddel contenedor ‘hbbs’:

version: '3'
services:
  hbbs:
    container_name: hbbs
    image: rustdesk/rustdesk-server:latest
    ports:
      - 21115:21115
      - 21116:21116
      - 21116:21116/udp
      - 21118:21118
    #command: hbbs
    command: hbbs -r FQDN.DOMINIO.ESO:21117
    volumes:
      - ./data:/root
    networks:
      - rustdesk-net
    depends_on:
      - hbbr
    restart: unless-stopped
  hbbr:
    container_name: hbbr
    image: rustdesk/rustdesk-server:latest
    ports:
      - 21117:21117
      - 21119:21119
    command: hbbr
    volumes:
      - ./data:/root
    networks:
      - rustdesk-net
    restart: unless-stopped
networks:
  rustdesk-net:
    external: false

Una vez creado y guardado el fichero es hora de desplegar los contenedores de RustDesk, lo hacemos ejecutando:

sudo docker compose up -d

Listo! Ya tenemos el servidor corriendo :-), lo siguiente será desplegar los clientes de RustDesk,

Podremos descargar el cliente de RustDesk desde su GitHub, hay cliente para Windows, Linux, Mac y Android entre otros. La instalación del cliente no tiene ningún misterio, siguiente, siguiente, y una vez instalado quedará funcional, pero con los servidores públicos de RustDesk, y no con el nuestro propio.

El uso del cliente de RustDesk veréis que es muy sencillo, es igual que TeamViewer.

Para ello, tendremos que ir aAjustes” > “Redy ahí cumplimentaremos elServidor de IDs” eta “Keyque la podremos obtener del fichero ‘/home/usuario/rustdesk/data/id_ed25519.pub’ (o vaya, donde se haya montado el volumen de datos del contenedor). Aplicamos y listo. También podríamos copiarnos esta configuración que acabos de realizar pulsando sobre el icono de ‘copiarpara desplegarla en el resto de equipos de manera más rápida.

Para desplegar el cliente de RustDesk de manera masiva en equipos Windows podríamos basarnos en este script llamado ‘instala_rustdesk.cmd’, que se podrá ejecutar mediante una GPO para desplegarlo de manera desatendida y dejarlo ya configurado. A tener en cuenta que podríamos indicar una contraseña de acceso manual, así como pegaremos el churro exportado con la configuración de RustDesk obtenido en el paso anterior.

@echo off
if not exist "C:\Program Files\RustDesk\" (
  set rustdesk_pw=CONTRASEÑA__DE_ACCESO_MANUAL
  set rustdesk_cfg="CHURRO_EXPORTADO_CON_LA_CONFIGURACIÓN_DE_RUSTDESK"
  rustdesk-1.2.3-1-x86_64.exe --silent-install
  timeout /t 20
  cd "C:\Program Files\RustDesk\"
  rustdesk.exe --install-service
  timeout /t 20
  for /f "delims=" %%i in ('rustdesk.exe --get-id ^| more') do set rustdesk_id=%%i
  rustdesk.exe --config %rustdesk_cfg%
  rustdesk.exe --password %rustdesk_pw%
) else (
    echo RustDesk ya esta instalado. El script no se ejecutará.
)

O incluso podrías renombrar el ejecutable del instalador cliente de RustDesk a este formato para también que se instale de manera desatendida: ‘rustdesk-host=FQDN_O_IP_SERVIDOR_RUSTDESK,key=CLAVE_PUBLICA.exe

Quedando ya lista también la parte de los clientes 🙂

Si nos interesa disponer de un sitio web para poder acceder a los equipos de RustDesk podremos usar RustDesk Web Client; así, si no disponemos del cliente de RustDesk instalado localmente para conectarnos a otro puesto, usaremos la web.

Podremos bajarnos la única imagen de Docker que hay publicada por ahora, exekutatuz:

sudo docker pull keyurbhole/flutter_web_desk:v1.0.0
sudo docker run -p 5000:5000 keyurbhole/flutter_web_desk:v1.0.0

Una vez haya arrancado, ya podremos abrir un navegador al puerto que indicamos, en este caso al 5000tcp.

Deberemos configurar en la esquina superior derecha los datos de nuestroID server” eta “Key”, como si se tratase de otro cliente de RustDesk.

Y probaremos a introducir el ID del equipo remoto para conectarnos,

Introducimos la contraseña de acceso que hemos indicado en el cliente de RustDesk del equipo remoto

¡Y listo! tenemos también el acceso web remoto a escritorios de PC’s, equipos o servidores, como sea, nuestra solución interna, segura y open source! La verdad que es una maravilla, hace y cumple lo que dice!

Sé que soy un cansino, pero como siempre, espero que este post te haya podido servir para algo, si has llegado hasta aquí leyendo, al menos te mando un saludete; deseando que os vaya lo mejor posible, cuidaros y ser felices!

Izenburuko mezuak

Egilea

nheobug@bujarra.com
Autor del blog Bujarra.com Cualquier necesidad que tengas, ez zalantzarik izan nirekin harremanetan jartzeko, ahal duzun guztietan laguntzen saiatuko naiz, partekatu ahal dudan guztietan ;) . Dokumentuez gozatu!!!