Mosh, que significa Mobile Shell, é uma aplicação de linha de comando que é usada para se conectar ao servidor a partir de um computador cliente, pela Internet. Pode ser usado como SSH e contém mais recursos do que Secure Shell.
É uma aplicação semelhante ao SSH, mas com recursos adicionais. A aplicação foi originalmente escrita por Keith Winstein para sistemas operacionais tipo Unix e lançada sob a GNU GPL v3.

Recursos do Mosh
- É uma aplicação de terminal remoto que suporta roaming.
- Disponível para todos os principais sistemas operacionais tipo UNIX, como Linux, FreeBSD, Solaris, Mac OS X e Android.
- Conectividade intermitente suportada.
- Fornece eco local inteligente.
- Edição de linha dos toques de tecla do usuário suportada.
- Design responsivo e Natureza Robusta sobre wifi, celular e links de longa distância.
- Permanece Conectado mesmo quando o IP muda. Usa UDP em vez de TCP (usado pelo SSH). O TCP expira quando a conexão é redefinida ou um novo IP é atribuído, mas o UDP mantém a conexão aberta.
- A conexão permanece intacta quando você retoma a sessão após um longo tempo.
- Sem atraso de rede. Mostra as teclas digitadas pelos usuários e deleções imediatamente sem atraso de rede.
- Mesmo método antigo de login como era no SSH.
- Mecanismo para lidar com perda de pacotes.
Instalação do Mosh Shell no Linux
Em sistemas semelhantes ao Debian, Ubuntu e Mint, você pode instalar facilmente o pacote Mosh com a ajuda do gerenciador de pacotes apt-get conforme mostrado.
# apt-get update # apt-get install mosh
Em distribuições baseadas em RHEL/CentOS/Fedora, você precisa ativar o repositório de terceiros chamado EPEL, a fim de instalar o mosh deste repositório usando o gerenciador de pacotes yum conforme mostrado.
# yum update # yum install mosh
Na versão Fedora 22+, você precisa usar o gerenciador de pacotes dnf para instalar o mosh conforme mostrado.
# dnf install mosh
Em outras distribuições Linux, você pode instalá-lo conforme mostrado.
# pacman -S mosh [On Arch/Manjaro Linux] $ sudo zypper in mosh [On OpenSuse] # emerge net-misc/mosh [On Gentoo]
Como usar o Mosh Shell?
1. Vamos tentar fazer login no servidor Linux remoto usando o shell mosh.
$ mosh [email protected]

Nota: Você viu que recebi um erro ao conectar, pois a porta não estava aberta no meu servidor remoto CentOS 7. Uma solução rápida, mas não recomendada, que executei foi:
# systemctl stop firewalld [on Remote Server]
A maneira preferida é abrir uma porta e atualizar as regras do firewall. E então conectar ao mosh em uma porta predefinida. Para detalhes aprofundados sobre firewalld, você pode gostar de visitar este post.
2. Vamos supor que a porta SSH padrão 22 foi alterada para a porta 70, neste caso você pode definir uma porta personalizada com a ajuda do interruptor ‘-p‘ com o mosh.
$ mosh [email protected] --ssh="ssh -p 70"
3. Verifique a versão do Mosh instalado.
$ mosh --version

4. Você pode fechar a sessão mosh digitando ‘sair‘ no prompt.
$ exit
5. Mosh suporta muitas opções, que você pode ver como:
$ mosh --help

Contras do Shell Mosh
- O Mosh requer pré-requisitos adicionais, por exemplo, permitir conexão direta via UDP, o que não era necessário pelo SSH.
- Alocação dinâmica de porta na faixa de 60000-61000. O primeiro porto aberto é alocado. Requer uma porta por conexão.
- A alocação de porta padrão é uma preocupação séria de segurança, especialmente em produção.
- Conexões IPv6 suportadas, mas roaming em IPv6 não suportado.
- Scrollback não suportado.
- Não há suporte para encaminhamento X11.
- Não há suporte para encaminhamento de ssh-agent.
Conclusão
Mosh é um pequeno utilitário agradável que está disponível para download no repositório da maioria das Distribuições Linux. Embora tenha algumas discrepâncias, especialmente em relação à segurança e requisitos adicionais, suas características como permanecer conectado mesmo durante o roaming são seu ponto forte. Minha recomendação é que todo usuário de Linux que lida com SSH deveria experimentar este aplicativo e lembre-se, Mosh vale a pena ser testado.
Source:
https://www.tecmint.com/mosh-shell-ssh-alternative-on-linux/