
RustDesk i RustDesk Web Client
En aquest document vam veure el desplegament complet de la solució RustDesk, com molts ja la coneixeu la millor solució open source per a controls remots, l'alternativa gratuïta a TeamViewer. Al post veurem com fer la teva pròpia instal·lació local, on sense necessitat de tercers, tinguis el teu propi control.
El que s'ha dit, començarem el document desplegant el servidor de RustDesk en la nostra infraestructura, per després desplegar els clients de RustDesk ja preconfigurats en els equips que vulguem controlar remotament de la nostra organització, siguin els PCs dels usuaris per oferir-los suport mitjançant un control remot, o per connectar-nos als nostres servidors. Al final, desplegarem també el servei RustDesk Web Client, que com el seu nom indica i et podràs imaginar, és un client web de RustDesk, per poder connectar qualsevol equip des d'una web, així de fàcil.
Per suposat, en principi tot és local, funcionarà a la teva xarxa; però si vas a voler connectar-te als equips des d'Internet (si estàs fora de l'organització), o els equips a controlar estan fora, llavors vas haver d'obrir uns ports en el teu firewall perimetral per permetre l'accés. Sent els ports necessaris del 21115 al 21117, així com el 21116udp; i si vas voler fer servir RustDesk Web Client, llavors també del 21118 al 21119.
Veureu que rapidito tot, i gràcies a Docker, ja que vam desplegar els serveis de RustDesk en contenidors de Docker, així que per començar el document necessitaràs una màquina Linux, un Ubuntu Server està bé, amb Docker instal·lat i Docker Compose, així com l'habitual, un nom de màquina establert, direcció IP estàtica, NTP… y, comencem!
Per desplegar el servidor de RustDesk n'hi haurà prou amb crear el seu fitxer docker-compose.yml, jo el ficaré en una carpeta que crearé anomenada 'rustdesk’ en el meu home. Us deixo l'exemple que ve en la documentació oficial, tindrem en compte que si volem accés des de l'exterior haurem d'indicar el nostre FQDN en el 'command’ del contenidor '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. DOMINI. ESO:21117
volums:
- ./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
Un cop creat i guardat el fitxer és hora de desplegar els contenidors de RustDesk, ho fem executant:
sudo docker compose up -d
Llist! Ja tenim el servidor corrent :-), el següent serà desplegar els clients de RustDesk,
Podrem descarregar el client de RustDesk des de la seva GitHub, hi ha client per a Windows, Linux, Mac i Android entre d' altres. La instal·lació del client no té cap misteri, següent, següent, i una vegada instal·lat quedarà funcional, però amb els servidors públics de RustDesk, i no amb el nostre propi.
L'ús del client de RustDesk veureu que és molt senzill, és igual que TeamViewer.
Per a això, haurem d'anar a “Ajustaments” > “Xarxa” i aquí emplenarem el “Servidor d' IDs” i la “Key” que la podrem obtenir del fitxer '/home/usuari/rustdesk/data/id_ed25519.pub’ (o vagi, on s' hagi muntat el volum de dades del contenidor). Apliquem i llest. També podríem copiar-nos aquesta configuració que acabos de realitzar polsant sobre la icona de 'copiar’ per desplegar-la a la resta d' equips de manera més ràpida.
Per desplegar el client de RustDesk de manera massiva en equips Windows podríem basar-nos en aquest script anomenat 'instala_rustdesk.cmd', que es podrà executar mitjançant una GPO per desplegar-lo de manera desatesa i deixar-lo ja configurat. A tenir en compte que podríem indicar una contrasenya d'accés manual, així com enganxarem el xurro exportat amb la configuració de RustDesk obtingut en el pas anterior.
@echo off if not exist "C:\Program FilesRustDesk" ( 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 FilesRustDesk" 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 ja està instal·lat. L' script no s' executarà. )
O fins i tot podries renovar l'instal·lador client de RustDesk a aquest format per també que s'instal·li de manera desatesa: 'rustdesk-host=FQDN_O_IP_SERVIDOR_RUSTDESK,key=CLAVE_PUBLICA.exe’
Quedant ja llista també la part dels clients 🙂
Si ens interessa disposar d'un lloc web per poder accedir als equips de RustDesk podrem fer servir RustDesk Web Client; així, si no disposem del client de RustDesk instal·lat localment per connectar-nos a un altre lloc, usarem la web.
Podrem baixar-nos l'única imatge de Docker que hi ha publicada per ara, executant:
sudo docker pull keyurbhole/flutter_web_desk:v1.0.0 sudo docker run -p 5000:5000 keyurbhole/flutter_web_desk:v1.0.0
Un cop hagi arrencat, ja podrem obrir un navegador al port que indiquem, en aquest cas al 5000.
Haurem de configurar a la cantonada superior dreta les dades del nostre “ID server” i la “Key”, com si es tractés d'un altre client de RustDesk.
I provarem d'introduir l'ID de l'equip remot per connectar-nos,
Introduïm la contrasenya d'accés que hem indicat en el client de RustDesk de l'equip remot…
I llest! tenim també l'accés web remot a escriptoris de PC's, equips o servidors, com sigui, la nostra solució interna, segura i open source! La veritat que és una maravella, fa i compleix el que diu!
Sé que sóc un cansí, però com sempre, espero que aquest post t'hagi pogut servir per a alguna cosa, si has arribat fins aquí llegint, almenys tinc una salut; desitjant que us vagi el millor possible, cuidar-vos i ser felices!