RustDesk è un'alternativa open source a TeamViewer/AnyDesk per l'accesso e l'assistenza remota. Usato con i server pubblici del progetto funziona già bene, ma per chi fa assistenza professionale o vuole mantenere il pieno controllo del traffico (niente dati che transitano su infrastrutture di terzi, nessun rischio di blocco improvviso del servizio gratuito), ospitare il proprio server è la scelta giusta.
I due componenti di un server RustDesk
- hbbs (ID/Rendezvous server) — gestisce la registrazione degli ID dei client e la negoziazione iniziale della connessione.
- hbbr (Relay server) — inoltra il traffico quando una connessione diretta peer-to-peer non è possibile (NAT restrittivo su uno dei due lati).
Entrambi girano comodamente in Docker su una piccola VPS con IP pubblico.
Installazione con Docker Compose
mkdir -p ~/rustdesk-server && cd ~/rustdesk-server
# docker-compose.yml
services:
hbbs:
image: rustdesk/rustdesk-server:latest
command: hbbs -r rustdesk.miodominio.it:21117
volumes: ["./data:/root"]
network_mode: host
restart: unless-stopped
hbbr:
image: rustdesk/rustdesk-server:latest
command: hbbr
volumes: ["./data:/root"]
network_mode: host
restart: unless-stopped
docker compose up -d
network_mode: host è necessario perché RustDesk usa più porte UDP/TCP (21115-21119) che sarebbe scomodo mappare una per una con il NAT di Docker.
Aprire le porte sul firewall
sudo ufw allow 21115:21119/tcp
sudo ufw allow 21116/udp
Recuperare la chiave pubblica del server
Al primo avvio, hbbs genera una coppia di chiavi in ./data/id_ed25519.pub. Questa chiave va comunicata ai client per evitare attacchi man-in-the-middle sulla fase di handshake:
cat ./data/id_ed25519.pub
Configurare i client
Nel client RustDesk (Windows/Linux/macOS/Android), apri Impostazioni di rete e imposta come server ID/Relay l'indirizzo del tuo dominio, incollando la chiave pubblica recuperata al passo precedente. Da quel momento tutte le connessioni tra i tuoi dispositivi passano esclusivamente dal tuo server, mai da quelli pubblici del progetto.
Un vantaggio spesso sottovalutato: gli ID permanenti in azienda
Con un server proprio puoi distribuire ai colleghi/clienti un client pre-configurato con il tuo server già impostato: ogni macchina riceve un ID stabile, verificabile, e tu mantieni un unico punto di controllo su chi si connette a chi — utile per un piccolo team IT che fa assistenza a più sedi o clienti, senza dover gestire account su una piattaforma cloud esterna né dipendere dalla sua disponibilità.
Nota sulla sicurezza del server stesso
Il server RustDesk va comunque protetto come qualsiasi servizio esposto su Internet: accesso SSH solo con chiavi (mai password), fail2ban attivo, aggiornamenti regolari dell'immagine Docker. Il self-hosting sposta la responsabilità della sicurezza dal fornitore cloud a te: un vantaggio in termini di controllo, ma solo se la manutenzione viene fatta con la stessa cura che ci si aspetterebbe da un servizio professionale.