O SSH é o padrão para administrar servidores, mas no telemóvel vai abaixo sempre que muda de Wi-Fi para dados móveis ou bloqueia o ecrã. O Mosh mantém a sessão ativa ao mudar de rede e mostra o que escreve no teclado instantaneamente, mesmo com latência. Não substitui o SSH: utiliza-o para iniciar sessão e depois comunica por UDP.

O que é o SSH e o que acrescenta o Mosh

O SSH estabelece uma ligação TCP encriptada com o servidor. Se o IP do telemóvel mudar, essa ligação cai e é preciso voltar a entrar. O Mosh (mobile shell) autentica-se primeiro por SSH, inicia o mosh-server no servidor e, a partir daí, a sessão passa a funcionar por UDP. Isto permite três coisas:

  1. Roaming: a sessão sobrevive a uma mudança de rede ou de IP.
  2. Eco local preditivo: o texto digitado aparece imediatamente e é corrigido se a resposta do servidor for diferente.
  3. Reconexão após suspensão: ao desbloquear o telemóvel, a sessão continua exatamente onde estava.
SSHMosh
TransporteTCPUDP (inicia por SSH)
Mudança de Wi-Fi para dados móveisCaiMantém-se
Portas22/TCP (ou a que utilizar)22/TCP para entrar + UDP 60000-61000
Port forwarding e X11SimNão
Ajuste de texto ao redimensionar a janelaSimNão (o mosh-server não suporta)

Fontes: mosh.org e man mosh, verificados a 18-10-2026.

Quando NÃO usar o Mosh

  • Se precisa de túneis ou port forwarding: o Mosh não tem suporte para isso.
  • Se a firewall ou a rede bloqueia o intervalo UDP 60000-61000. Pode definir uma única porta com -p, mas tem de estar aberta.
  • Se o servidor não tem o mosh-server instalado e não tem permissões para o instalar (sudo apt install mosh em Debian/Ubuntu, brew install mosh em macOS).

Como usar o Mosh no termi1

O termi1 inclui o cliente oficial mosh-client no iPhone, iPad e Android; não se trata de uma reimplementação. No formulário de ligação, o SSH é o modo predefinido e o Mosh ativa-se através de um comutador. Também pode colar a linha MOSH CONNECT … gerada pelo mosh-server. Se o servidor não tiver o Mosh, a sessão continua por SSH e a aplicação avisa-o, em vez de falhar silenciosamente. As sessões correm dentro do tmux, pelo que tudo o que deixar em execução continua lá quando voltar.

Se o servidor for o seu Mac, existe o termi1 Companion, uma aplicação gratuita para a barra de menus (macOS 14 ou posterior). Pode ser descarregada em termi1.com como DMG assinado e notarizado pela Apple; não se encontra na Mac App Store. Tem três funções principais:

  • Verifica se a Sessão Remota, o mosh-server e o tmux estão ativos. Se faltar o Mosh, abre o Terminal com brew install mosh preenchido, mas não executa o comando por si.
  • Emparelha o iPhone ou o iPad através de um código de seis dígitos: o telemóvel envia a sua chave pública, que é guardada em ~/.ssh/authorized_keys, sem necessidade de copiar ou colar nada manualmente.
  • Se o ativar (vem desativado por omissão), envia uma notificação no Mac assim que um processo longo deixado em execução no tmux terminar.

Perguntas frequentes

O Mosh substitui o SSH?

Não. O Mosh utiliza o SSH para autenticação e para iniciar o mosh-server no servidor. Depois disso, a sessão passa para UDP, mantendo as mesmas chaves e configurações de SSH. Sem acesso SSH ao servidor, não é possível utilizar o Mosh.

Que portas é preciso abrir para usar o Mosh?

A porta SSH (normalmente a 22/TCP) para iniciar a ligação e o intervalo UDP 60000-61000 para a sessão. Se não quiser abrir o intervalo completo, fixe uma porta com a opção -p e abra apenas essa na firewall.

O Mosh permite fazer túneis ou port forwarding?

Não. O Mosh não suporta port forwarding nem reencaminhamento X11. Caso necessite de criar um túnel para uma base de dados ou um painel web, abra uma ligação SSH normal para esse efeito e reserve o Mosh para a utilização interativa do terminal.

O que acontece no termi1 se o servidor não tiver o Mosh?

A ligação prossegue normalmente por SSH e o termi1 avisa que não encontrou o mosh-server. Pode instalá-lo com sudo apt install mosh (Debian/Ubuntu) ou brew install mosh (macOS) e voltar a ligar o comutador.