SSH est le standard pour administrer des serveurs, mais sur mobile, la connexion se coupe dès que vous passez du Wi-Fi aux données cellulaires ou que vous verrouillez l'écran. Mosh maintient la session active lors d'un changement de réseau et affiche instantanément ce que vous tapez, même en cas de latence. Il ne remplace pas SSH : il l'utilise pour se connecter, puis communique via UDP.

Qu'est-ce que SSH et qu'apporte Mosh

SSH établit une connexion TCP chiffrée avec le serveur. Si l'adresse IP du mobile change, cette connexion est rompue et il faut se reconnecter. Mosh (mobile shell) se connecte d'abord via SSH, lance mosh-server sur le serveur et, à partir de là, la session transite par UDP. Cela lui confère trois avantages :

  1. Roaming : la session survit à un changement de réseau ou d'adresse IP.
  2. Écho local prédictif : le texte que vous tapez s'affiche immédiatement et se corrige si le serveur renvoie autre chose.
  3. Reconnexion après la mise en veille : dès le déverrouillage du mobile, la session reprend là où elle s'était arrêtée.
SSHMosh
TransportTCPUDP (connexion initiale via SSH)
Passage du Wi-Fi aux données mobilesCoupureMaintien de la session
Ports22/TCP (ou celui configuré)22/TCP pour l'accès + UDP 60000-61000
Redirection de port et X11OuiNon
Réajustement du texte au redimensionnement de la fenêtreOuiNon (non pris en charge par mosh-server)

Sources : mosh.org et man mosh, vérifiés le 18-10-2026.

Quand NE PAS utiliser Mosh

  • Si vous avez besoin de tunnels ou de redirection de ports (port forwarding) : Mosh ne les gère pas.
  • Si le pare-feu ou le réseau bloque la plage UDP 60000-61000. Vous pouvez définir un port unique avec -p, mais il doit être ouvert.
  • Si le serveur ne dispose pas de mosh-server et que vous ne pouvez pas l'installer (sudo apt install mosh sous Debian/Ubuntu, brew install mosh sous macOS).

Comment utiliser Mosh dans termi1

termi1 intègre le client officiel mosh-client sur iPhone, iPad et Android ; il ne s'agit pas d'une réimplémentation. Dans le formulaire de connexion, SSH est le mode par défaut et Mosh s'active d'un simple basculement. Vous pouvez aussi coller la ligne MOSH CONNECT … générée par mosh-server. Si le serveur ne dispose pas de Mosh, la session continue en SSH et l'application vous en informe au lieu d'échouer silencieusement. Les sessions tournent dans tmux : ce que vous laissez en cours d'exécution reste donc accessible à votre retour.

Si le serveur est votre Mac, il existe termi1 Companion, une application gratuite pour la barre des menus (macOS 14 ou version ultérieure). Elle se télécharge sur termi1.com sous forme de DMG signé et notarisé par Apple ; elle n'est pas disponible sur le Mac App Store. Elle assure trois fonctions :

  • Vérifier que la session à distance, mosh-server et tmux sont bien activés. Si Mosh est absent, elle ouvre Terminal avec la commande brew install mosh préremplie, sans l'exécuter à votre place.
  • Associer l'iPhone ou l'iPad à l'aide d'un code à six chiffres : le mobile transmet sa clé publique, qui s'enregistre dans ~/.ssh/authorized_keys, sans aucun copier-coller.
  • Si vous l'activez (désactivé par défaut), vous avertir sur Mac lorsqu'un processus long laissé dans tmux est terminé.

Questions fréquentes

Mosh remplace-t-il SSH ?

Non. Mosh utilise SSH pour vous authentifier et démarrer mosh-server sur le serveur. Ensuite, la session bascule en UDP, mais vos clés et vos configurations SSH restent strictement identiques. Sans accès SSH au serveur, vous ne pouvez pas utiliser Mosh.

Quels ports faut-il ouvrir pour utiliser Mosh ?

Le port SSH (généralement le 22/TCP) pour la connexion initiale et la plage UDP 60000-61000 pour la session. Si vous ne souhaitez pas ouvrir toute la plage, définissez un port précis avec l'option -p et n'ouvrez que celui-ci sur votre pare-feu.

Mosh est-il adapté aux tunnels ou au port forwarding ?

Non. Mosh ne prend pas en charge la redirection de ports ni le transfert X11. Si vous avez besoin d'un tunnel vers une base de données ou une interface web, ouvrez une connexion SSH standard dédiée et gardez Mosh pour le terminal interactif.

Que se passe-t-il dans termi1 si le serveur n'a pas Mosh ?

La connexion se poursuit en SSH et termi1 vous signale que mosh-server est introuvable. Vous pouvez l'installer avec sudo apt install mosh (Debian/Ubuntu) ou brew install mosh (macOS), puis réactiver l'option.