SSH è lo standard per amministrare server, ma su mobile si disconnette ogni volta che si passa da Wi-Fi a rete dati o si blocca lo schermo. Mosh mantiene attiva la sessione durante i cambi di rete e mostra all'istante ciò che digiti, anche in presenza di latenza. Non sostituisce SSH: lo sfrutta per autenticarsi e poi comunica tramite UDP.
Cos'è SSH e cosa aggiunge Mosh
SSH apre una connessione TCP crittografata con il server. Se l'indirizzo IP del dispositivo cambia, la connessione si interrompe ed è necessario riconnettersi. Mosh (mobile shell) si collega prima tramite SSH, avvia mosh-server sul server e, da quel momento, la sessione viaggia su UDP. Questo gli consente di offrire tre vantaggi chiave:
- Roaming: la sessione sopravvive al cambio di rete o di indirizzo IP.
- Eco locale predittivo: il testo digitato compare all'istante e si adatta automaticamente se la risposta del server è differente.
- Riconnessione dopo lo standby: sbloccando il telefono, la sessione riprende esattamente da dove era rimasta.
| SSH | Mosh | |
|---|---|---|
| Trasporto | TCP | UDP (accesso via SSH) |
| Passaggio da Wi-Fi a dati | Si interrompe | Rimane attiva |
| Porte | 22/TCP (o quella configurata) | 22/TCP per l'accesso + UDP 60000-61000 |
| Port forwarding e X11 | Sì | No |
| Riadattamento del testo al ridimensionamento della finestra | Sì | No (mosh-server non lo supporta) |
Fonti: mosh.org e man mosh, verificati il 18/10/2026.
Quando NON usare Mosh
- Se hai bisogno di tunnel o port forwarding: Mosh non li supporta.
- Se il firewall o la rete bloccano le porte UDP 60000-61000. È possibile specificare una singola porta con
-p, ma deve essere aperta. - Se il server non dispone di
mosh-servere non hai la possibilità di installarlo (sudo apt install moshsu Debian/Ubuntu,brew install moshsu macOS).
Come usare Mosh su termi1
termi1 integra il client ufficiale mosh-client su iPhone, iPad e Android; non si tratta di una reimplementazione. Nella schermata di connessione, SSH è la modalità predefinita e Mosh è attivabile tramite un interruttore. Puoi anche incollare direttamente la stringa MOSH CONNECT … restituita da mosh-server. Se il server non supporta Mosh, la sessione prosegue via SSH e l'app ti avvisa, invece di fallire silenziosamente. Le sessioni vengono eseguite all'interno di tmux, quindi i processi avviati continuano a girare in background anche quando ti allontani.
Se il server è il tuo Mac, puoi usare termi1 Companion, un'app gratuita per la barra dei menu (macOS 14 o versioni successive). È scaricabile da termi1.com come file DMG firmato e autenticato da Apple; non è disponibile sul Mac App Store. Offre tre funzioni principali:
- Verifica che l'accesso remoto,
mosh-servere tmux siano attivi. Se Mosh non è installato, apre Terminale con il comandobrew install moshprecompilato, senza però eseguirlo al posto tuo. - Abbina l'iPhone o l'iPad tramite un codice a sei cifre: il dispositivo mobile invia la propria chiave pubblica, che viene salvata in
~/.ssh/authorized_keys, senza bisogno di fare copia e incolla. - Se abilitata (è disattivata per impostazione predefinita), invia una notifica sul Mac al termine di un processo prolungato lasciato in esecuzione su tmux.
Domande frequenti
Mosh sostituisce SSH?
No. Mosh usa SSH per autenticarti e avviare mosh-server sul server. Successivamente la sessione passa su UDP, ma le chiavi e la configurazione SSH rimangono invariate. Senza accesso SSH al server non è possibile utilizzare Mosh.
Quali porte aprire per Mosh?
La porta SSH (generalmente 22/TCP) per effettuare l'accesso iniziale e l'intervallo UDP 60000-61000 per la sessione. Se non desideri aprire l'intero intervallo, puoi specificare una singola porta con l'opzione -p e aprire solo quella nel firewall.
Mosh supporta tunnel o port forwarding?
No. Mosh non supporta il port forwarding né il forwarding X11. Se hai bisogno di un tunnel verso un database o un pannello di controllo web, apri una normale connessione SSH dedicata e lascia Mosh per la sessione di terminale interattiva.
Cosa succede in termi1 se il server non ha Mosh?
La connessione prosegue tramite SSH e termi1 ti avvisa di non aver trovato mosh-server. Puoi installarlo con sudo apt install mosh (Debian/Ubuntu) o brew install mosh (macOS) e riattivare l'opzione nell'app.