RustDesk è un software per il controllo remoto open source, che si presenta senza tanti giri di parole come alternativa totalmente "free" a TeamViewer. Contrariamente al concorrente più conosciuto, RustDesk è gratuito anche per uso professionale, e consente persino di installare "RustDesk Server" sulla propria infrastruttura: questo comporta importanti benefici in termini di privacy, abbattimento dei costi e affidabilità, poiché ci consente di svincolarci totalmente da qualsiasi server intermedio gestito da terzi. In questa guida vedremo quindi come installare RustDesk Server su Ubuntu Server, e come utilizzarlo al posto di TeamViewer per controllare un sistema da remoto o fornire assistenza tecnica

Una volta attivato RustDesk Server su un proprio sistema, esso si occuperà di coordinare la connessione fra il PC che controlla (quello di chi fornisce assistenza, ad esempio) e quello che deve essere controllato. Questa meccanica sarà pressoché invisibile agli utenti, che potranno continuare ad utilizzare lo strumento in modo del tutto simile a quanto siano abituati con TeamViewer e simili. Per una panoramica di RustDesk, programma di controllo remoto, si veda quest'altro approfondimento dedicato:

» Leggi: RustDesk l’alternativa open source a TeamViewer e AnyDesk

Nella presente guida, invece, ci concentreremo sulla preparazione del sistema con RustDesk Server, che poi sfrutteremo al posto delle istanze fornite dallo sviluppatore

Guida: come installare RustDesk Server Ubuntu (alternativa gratuita TeamViewer, video) - teamviewer mai più rustdesk spotlight

Per svolgere la procedura descritta di seguito è necessario disporre di un server Linux e familiarità con la riga di comando e il networking in generale. (sponsor) Se sei alla ricerca di una soluzione per il controllo remoto più semplice e pronta all’uso senza bisogno di configurare un server Linux, che sia ricca di funzionalità e utilizzabile direttamente da PC senza installare null'altro, dovresti valutare Supremo: un software di assistenza e controllo remoto simile a TeamViewer, ma che, al contrario di quest’ultimo, non costringe a registrare un account per funzionare. Per maggiori informazioni su Supremo, fai riferimento al nostro approfondimento dedicato:

» Leggi: Come controllare un PC Windows da lontano: guida a Supremo (assistenza, controllo, accesso remoto) (video)

Installare RustDesk Server: requisiti

Guida: come installare RustDesk Server Ubuntu (alternativa gratuita TeamViewer, video) - rustdesk screenshot

Come detto, la componente "server" di RustDesk deve essere installata su un sistema Linux. Sono supportate la maggior parte delle distribuzioni moderne, ma nella seguente guida utilizzeremo Ubuntu Server. Inoltre, tale sistema deve:

  1. essere sempre connesso ad Internet
  2. disporre di un indirizzo IP pubblico, raggiungibile attraverso Internet
  3. disporre di un indirizzo IP statico, oppure di un DDNS associato
  4. esporre alcune porte e accettare connessioni TCP/UDP in ingresso da Internet
  5. consentire l'accesso in SSH come utente root per svolgere la configurazione iniziale
  6. garantire una banda in upload pari ad almeno 1 Mb/s
  7. essere dotato di almeno "1 CPU, 1 GB di RAM e 20 GB di disco" (dati presi dalla documentazione)

La soluzione ideale è probabilmente un VPS (Virtual Private Server) o un altro tipo di server "in cloud", cioè un server fornitoci "in affitto" da AWS (Amazon), OVH, DigitalOcean o simili. Il taglio minimo, che generalmente costa 4-5 € al mese, dovrebbe essere sufficiente.

Chi però voglia solo fare qualche prova, o utilizzare lo strumento in un contesto lavorativo molto limitato, può ripiegare su una macchina virtuale esposta su Internet dal proprio PC, oppure su un Raspberry Pi o un vecchio computer. I requisiti enumerati in precedenza rimangono immutati.

Installare RustDesk Server, Passo 1: Accedere in SSH

Iniziamo dunque entrando in SSH sul server Linux sul quale desideriamo installare RustDesk Server. Abbiamo dettagliato la procedura in questo approfondimento dedicato:

» Leggi: SSH con Windows, Linux, Mac: la Guida Definitiva

Guida: come installare RustDesk Server Ubuntu (alternativa gratuita TeamViewer, video) - guida ssh spotlight

Installare RustDesk Server, Passo 2: Aggiornamento completo

Ora è importante applicare tutti gli aggiornamenti per il sistema operativo e i pacchetti accessori. Allo scopo, installiamo il comando zzupdate:

sudo apt install curl -y && curl -s https://raw.githubusercontent.com/TurboLabIt/zzupdate/master/setup.sh | sudo bash

In seguito, per aggiornare tutto quanto, basta impartire:

zzupdate

Guida: come installare RustDesk Server Ubuntu (alternativa gratuita TeamViewer, video) - zzupdate spotlight

Al termine, il sistema remoto verrà riavviato automaticamente. Dobbiamo dunque ri-entrare in SSH.

Installare RustDesk Server, Passo 3: Diventare root

Le operazioni descritte di seguito richiedono i privilegi di root. Per non impazzire, acquisiamoli immediatamente. Il comando è:

sudo -s

In caso ti fosse richiesta la password, digita quella del tuo utente Linux. Ricorda che, poiché sei entrato in SSH su un sistema remoto, devi digitare la password del tuo utente remoto, non quella dell'utente locale

Guida: come installare RustDesk Server Ubuntu (alternativa gratuita TeamViewer, video)

Installare RustDesk Server, Passo 4: Preparare la cartella

Ora creiamo una nuova cartella temporanea. La utilizzeremo per ospitare i file di installazione di RustDesk Server. Allo scopo, basta impartire questo comando concatenato:

cd $HOME && mkdir rustdesk && cd rustdesk && pwd

Guida: come installare RustDesk Server Ubuntu (alternativa gratuita TeamViewer, video)

Installare RustDesk Server, Passo 5: Installare curl

Per scaricare i file di installazione sul server utilizzeremo curl. Assicurati che sia già installato impartendo:

apt install curl -y

Guida: come installare RustDesk Server Ubuntu (alternativa gratuita TeamViewer, video)

Installare RustDesk Server, Passo 6: Aprire la pagina GitHub

Vogliamo ora scaricare i pacchetti di installazione di RustDesk Server. Purtroppo, l'URL di download varia ad ogni nuova versione, quindi dobbiamo prelevarlo da questa pagina:

» Vedi: RustDesk Server su GitHub

Guida: come installare RustDesk Server Ubuntu (alternativa gratuita TeamViewer, video)

Vengono proposti molti file , ma ci interessano solamente due pacchetti:

  1. rustdesk-server-hbbr: RustDesk relay server
  2. rustdesk-server-hbbs: RustDesk ID/Rendezvous server

Per quanto riguarda Ubuntu Server installato su PC o server con la tradizionale architettura x64, i file che ci servono sono quelli il cui nome finisce con amd64.deb.

Procederemo ora a scaricarli individualmente.

Installare RustDesk Server, Passo 7: Scaricare rustdesk-server-hbbr

Dalla pagina GitHub, fai click con il pulsante destro del mouse sul collegamento dal nome simile a rustdesk-server-hbbr_x.x.x_amd64.deb (al posto delle x troverai il progressivo di versione) e scegli Copia collegamento

Guida: come installare RustDesk Server Ubuntu (alternativa gratuita TeamViewer, video)

Torna ora al terminale aperto in SSH sul tuo server e scarica il file dall'indirizzo appena copiato. Il comando sarà simile a:

curl -Lo rustdesk-hbbr.deb https://.../rustdesk-server-hbbr_x.x.x_amd64.deb

L'URL deve essere, ovviamente, quello appena copiato da GitHub

Guida: come installare RustDesk Server Ubuntu (alternativa gratuita TeamViewer, video)

Installare RustDesk Server, Passo 8: Scaricare rustdesk-server-hbbs

Ripetiamo la stessa procedura per il secondo pacchetto.

Dalla pagina GitHub, fai click con il pulsante destro del mouse sul collegamento dal nome simile a rustdesk-server-hbbs_x.x.x_amd64.deb (al posto delle x troverai il progressivo di versione) e scegli Copia collegamento

Guida: come installare RustDesk Server Ubuntu (alternativa gratuita TeamViewer, video)

Torna ora al terminale aperto in SSH sul tuo server e scarica il file dall'indirizzo appena copiato. Il comando sarà simile a:

curl -Lo rustdesk-hbbs.deb https://.../rustdesk-server-hbbs_x.x.x_amd64.deb

L'URL deve essere, ovviamente, quello appena copiato da GitHub

Guida: come installare RustDesk Server Ubuntu (alternativa gratuita TeamViewer, video)

Installare RustDesk Server, Passo 9: Verificare i file scaricati

Arrivati a questo punto, dovresti aver scaricato due file. Per verificarlo, impartisci ls e dovresti vedere:

  • rustdesk-hbbr.deb
  • rustdesk-hbbs.deb

Guida: come installare RustDesk Server Ubuntu (alternativa gratuita TeamViewer, video)

Installare RustDesk Server, Passo 10: installare i .deb

Procedi ad installare entrambi i pacchetti con questo unico comando:

apt install ./rustdesk*.deb -y

Guida: come installare RustDesk Server Ubuntu (alternativa gratuita TeamViewer, video)

Da notare che il comando potrebbe concludersi con l'allarmante messaggio N: Download is performed unsandboxed as root as file '/root/rustdesk/rustdesk-hbbr.deb' couldn't be accessed by user '_apt'. - pkgAcquire::Run (13: Permission denied). In realtà non è un errore, ma un'informazione (notice) irrilevante ai nostri scopi. L'installazione si è comunque conclusa correttamente.

Installare RustDesk Server, Passo 11: Verificare lo stato dei servizi

L'installazione precedente ha attivato due nuovi servizi di sistema. Per vedere il loro stato impartiamo:

service rustdesk-hbbr status

(battere Q per uscire)

Guida: come installare RustDesk Server Ubuntu (alternativa gratuita TeamViewer, video)

service rustdesk-hbbs status

(battere Q per uscire)

Guida: come installare RustDesk Server Ubuntu (alternativa gratuita TeamViewer, video)

Se si legge active (running) è tutto in ordine. Se si legge, fra le altre informazioni, enabled, significa che detti servizi sono correttamente impostati per avviarsi automaticamente ad ogni accensione o riavvio del sistema. Perfetto!

Installare RustDesk Server, Passo 12: Aprire le porte sul firewall

Per impostazione predefinita, Ubuntu Server non attiva alcun firewall. Se quindi non hai attivato esplicitamente alcun firewall, puoi proseguire oltre.

Se invece hai attivato manualmente un firewall, devi abilitare esplicitamente le connessioni alle porte utilizzate da RustDesk Server. Se hai scelto UFW, ti basta lanciare i seguenti comandi:

ufw allow 21115:21119/tcp && ufw allow 8000/tcp && ufw allow 21116/udp

Se invece utilizzi direttamente iptables, devi aggiungere al tuo script di configurazione questa riga:

iptables -I INPUT -p tcp -m multiport --dport 8000,21115:21119 -j ACCEPT && iptables -I INPUT -p udp -m multiport --dport 21116 -j ACCEPT

Ricorda che, con iptables, il firewall viene resettato ad ogni avvio, quindi non è sufficiente eseguire il comando indicato una sola volta, ma deve essere auto-eseguito ad ogni avvio.

Installare RustDesk Server, Passo 13: "Aprire" le porte sul router (port forwarding)

Se hai installato RustDesk Server su VPS o altro server cloud puoi proseguire oltre.

Se invece hai scelto di installare RustDesk Server su un PC o un server che ospiti a casa o in ufficio, devi configurare il "port forwarding" sul router, ovvero svolgere l'operazione volgarmente detta "aprire le porte sul router". Allo scopo, segui questa guida:

» Leggi: Come aprire le porte sul router/modem: la guida definitiva al port forwarding (inoltro delle porte)

Le specifiche porte da aprire per RustDesk Server sono le seguenti:

  • 21115, 21116, 21117, 21118, 21119, 8000 TCP
  • 21116 UDP

Guida: come installare RustDesk Server Ubuntu (alternativa gratuita TeamViewer, video)

Dopo aver svolto la configurazione, verifica esplicitamente che sia andata a buon fine tramite Shields Up!:

» Leggi: Come testare se una porta del router/firewall è aperta? Guida al Port scan con Shields Up!

Guida: come installare RustDesk Server Ubuntu (alternativa gratuita TeamViewer, video) - shields up port open

Il servizio deve riportare, per tutte le porte, la dicitura OPEN!.

Installare RustDesk Server, Passo 14: Scoprire l'indirizzo IP pubblico del server

Fra poco configureremo RustDesk Client per interagire con il server che abbiamo appena configurato. Allo scopo, è necessario conoscere l'indirizzo IP pubblico del server. Per evitare qualsiasi ambiguità o incomprensione, scopriamolo ora esplicitamente impartendo:

curl ipinfo.io/ip ; echo

Guida: come installare RustDesk Server Ubuntu (alternativa gratuita TeamViewer, video)

Per il momento, limitati a copiare tale indirizzo IP e tenerlo a portata di mano.

Installare RustDesk Server, Passo 15: Visualizzare la chiave crittografica

Affinché la comunicazione possa essere privata e sicura, sarà essenziale impostare RustDesk Client affinché utilizzi la chiave crittografica generata da RustDesk Server. Lo faremo fra poco.

Per il momento, devi solo visualizzare tale chiave impartendo:

cat /var/lib/rustdesk-server/id_ed25519.pub ; echo

Dovresti visualizzare una lunga stringa alfanumerica che costituisce la componente "pubblica" della tua chiave

Guida: come installare RustDesk Server Ubuntu (alternativa gratuita TeamViewer, video)

Anche in questo caso, devi solo copiare questa stringa e tenerla a portata di mano.

Installare RustDesk Server, Passo 16: Configurare RustDesk client

Ora che RustDesk Server è pronto, devi configurare RustDesk Client, ovvero il programma effettivamente utilizzato per il controllo remoto, affinché vi si connetta.

Scarica quindi RustDesk Client sia sul computer (sono supportati Windows, Mac, Linux) oppure sullo smartphone (Android, iOS) al quale vuoi connetterti da remoto, sia su quello dal quale opererai fisicamente:

» Download: RustDesk

Ora, su ognuno dei due sistemi:

  1. installa e avvia RustDesk Client
  2. clicca sul pulsante nella colonna di sinistra
  3. clicca la voce di menu Server ID/Relay
  4. campo ID Server: inserisci l'indirizzo IP del sistema sul quale hai installato RustDesk Server (quello che abbiamo scoperto al precedente paragrafo Scoprire l'indirizzo IP pubblico del server)
  5. campo Key: inserisci la chiave crittografica generata da RustDesk Server (quella che abbiamo visualizzato poco fa, al paragrafo Visualizzare la chiave crittografica)
  6. lascia vuoti gli altri campi

Il risultato dovrà essere simile al seguente:

Guida: come installare RustDesk Server Ubuntu (alternativa gratuita TeamViewer, video)

Ripeto: questa configurazione va svolta su RustDesk Client, sia sul sistema "che controlla", sia su quello "da controllare".

Controllo Remoto con RustDesk

Da qui in avanti, il flusso di lavoro con RustDesk sarà quello già trattato nell'articolo RustDesk l’alternativa open source a TeamViewer e AnyDesk, con l'importante, critica differenza che i client si stanno appoggiando al nostro server per coordinare la comunicazione, e non a quelli offerti dallo sviluppatore. Questo, come dicevamo, permette di ottenere maggiore:

  1. affidabilità: fino a quando il nostro RustDesk Server rimarrà funzionante, sarà sempre possibile svolgere la connessione, anche in caso i server offerti dal produttore fossero intasati o smettessero di funzionare del tutto
  2. riservatezza: nessuna connessione verrà aperta verso i server gestiti da RustDesk
  3. risparmio: rispetto a soluzioni alternative come TeamViewer (prezzo attuale: 13,90 € al mese per ogni utente, per la versione base), RustDesk è completamente gratuito

Appendice: configurazione in situazioni di "assistenza remota"

Come evidente, la necessità di inserire l'indirizzo IP e la chiave crittografica nel client è un ostacolo notevole nelle situazioni di assistenza tecnica remota nelle quali RustDesk Client non sia stato pre-installato, ma debba essere scaricato ed avviato per la prima volta dall'utente al quale dobbiamo fornire assistenza.

Per far fronte a questa necessità, la pagina dedicata della documentazione cita principalmente due strade alternative:

  1. generare una build personalizzata del programma tramite GitHub Actions
  2. impostare sul sistema due variabili d'ambiente dedicate

In entrambi i casi, è necessario valorizzare opportunamente le seguenti variabili:

  • RENDEZVOUS_SERVER: è l'indirizzo IP del server sul quale abbiamo preparato RustDesk Server, e al quale il client deve fare riferimento
  • RS_PUB_KEY: è la chiave crittografica da utilizzare

Non ho approfondito oltre, ma, seguendo la documentazione con un po' di intraprendenza, dovrebbe essere possibile raggiungere il risultato cercato.

Conclusioni

In questa guida abbiamo visto come installare RustDesk Server su Ubuntu Server. La procedura è sicuramente un po' impegnativa, e l'onere di mantenere attivo e funzionante il server così configurato è totalmente a nostro carico, ma il risultato finale è sicuramente notevole.

Ricordiamo nuovamente, a chi cercasse un'alternativa più semplice, pronta all'uso e senza server da configurare, Supremo, al quale abbiamo dedicato un approfondimento dedicato:

» Leggi: Come controllare un PC Windows da lontano: guida a Supremo (assistenza, controllo, accesso remoto) (video)