Visite também: Currículo ·  Efetividade BR-Mac

O que é LinuxDownload LinuxApostila LinuxEnviar notícia


Mosh: Modernizando o SSH com IP Roaming, eco local instantâneo

Quem está na estrada há bastante tempo lembra como foi a transição dos serviços de terminal remoto que predominavam anteriormente (telnet, rlogin) pelo SSH, cheio de vantagens em relação a eles e que vem se desenvolvendo há quase duas décadas – mas será que já está na hora de dar um novo passo semelhante?

A proposta do Mosh (mobile shell) é interessante: preservar várias das características do serviço SSH, mas incluir outras que surgiram nas situações modernas de conectividade, como preservar transparentemente a conexão mesmo após mudar de IP (por exemplo, ao passar de 3G para WiFi em um dispositivo móvel), exibir os caracteres digitados instantaneamente (eco local), preservar buffers e dispensar privilégios especiais para rodá-lo.

Mas o Mosh não é um substituto, e sim um complemento: ele usa o serviço SSH existente para iniciar a conexão e garantir a autenticação das partes, por exemplo.

Para quem quiser testar, o site do Mosh tem downloads para várias distribuições Linux, FreeBSD e OS X. (via mobile.slashdot.org – “Mosh: Modernizing SSH With IP Roaming, Instant Local Echo – Slashdot”)


• Publicado por Augusto Campos em 2012-04-11

Comentários dos leitores

Os comentários são responsabilidade de seus autores, e não são analisados ou aprovados pelo BR-Linux. Leia os Termos de uso do BR-Linux.

    Weber Jr. (usuário não registrado) em 11/04/2012 às 2:29 pm

    Interessante, só tem de ver se não vai acabar reimplementando o que é possível com outras ferramentas, screen é o primeiro que me vem a cabeça.

    Suhanko (usuário não registrado) em 11/04/2012 às 2:56 pm

    Pensei exatamente a mesma coisa!

    José Garibaldi (usuário não registrado) em 11/04/2012 às 3:20 pm

    Weber e Suhanko, Não entendi qual ferramenta já existente (que o mosh estaria reimplementando) torna possível o uso de um terminal remoto via UDP com um protocolo totalmente novo, com menos overhead, novo modo de criptografia, e baixíssima latência. Certamente ssh+screen (ou +outras ferramentas) não oferecem isso, nem ao menos o recurso de eco local (já que qualquer programa que você utilizar dentro do ssh roda remotamente).

    Weber Jr. (usuário não registrado) em 11/04/2012 às 4:16 pm

    José Garibaldi

    “Não entendi qual ferramenta já existente (que o mosh estaria reimplementando) torna possível o uso de um terminal remoto via UDP com um protocolo totalmente novo, com menos overhead, novo modo de criptografia, e baixíssima latência.”

    José, eu citei um exemplo que veio a mente, e logicamente me referindo ao que o screen faz, permitir continuar uma sessão. Não transparentemente, que eu sei.

    Eu não falei que ESTÁ acontecendo um overlapping, veja:

    “só tem de ver se não vai acabar reimplementando”

    Destacando…

    “tem de ver”, “SE não vai acabar…”

    Esses tempos li um artigo sobre como aos poucos vamos aglomerando funções em um só aplicativo, de certa forma indo contra a idéia de modularidade do Unix: Programas com única ou poucas funções bem específicas que se interligam.

    Era mais nesse sentido que falava.

    henry (usuário não registrado) em 11/04/2012 às 5:02 pm

    Esses tempos li um artigo sobre como aos poucos vamos aglomerando funções em um só aplicativo, de certa forma indo contra a idéia de modularidade do Unix: Programas com única ou poucas funções bem específicas que se interligam.

    Bem, eu mesmo não suportaria um programa para digitar o texto, outro para colocar negrito, outro para centralizar, mais um para fazer tabelas, imagens, e finalmente a cereja com mais um para imprimir.

    (Não, eu não pensei no Emacs :D )

    Mas voltando ao assunto sério, o oceano Unix é muito grande e cabe desde liquens até baleias.

    :D

    Weber Jr. (usuário não registrado) em 11/04/2012 às 5:30 pm

    henry

    “eu mesmo não suportaria um programa para digitar o texto, outro para colocar negrito, outro para centralizar, mais um para fazer tabelas, imagens, e finalmente a cereja com mais um para imprimir. ”

    Não precisa suportar, cria-se um programa que agrega todas essas pequenas funções. Esse conjunto é superior a um exclusivo que faz tudo, mas que não permite fazer SÓ uma coisa.

    Exemplo clássico disso: K3B . Dá uma olhada na árvore de dependências dele. É composta de vários pequenos programas que fazem só uma parte da “linha de montagem” de um CD/DVD.

    Eu prefiro essa filosofia. Mas sendo software livre, não tem tanta importância mais. Pois caso seja muito necessário, se pode criar uma alteração que permita se comunicar com outros programas.

    José Garibaldi (usuário não registrado) em 11/04/2012 às 6:21 pm

    Weber, Mas onde você viu que o mosh permite continuar uma sessão? Não encontrei esse recurso nele não. Quando ele diz “resume a connection”, ele se refere a algo bem diferente do que o screen faz – ele se refere a roaming, que é algo que tem que ser implementado no protocolo, e não por uma ferramenta externa. Quando você usa ssh+screen e a sua conexão cai e depois volta, você tem que reconectar no ssh e fazer “screen -r” para retomar a sessão. O mosh, em nível de protocolo, não permite que a conexão caia. Mesmo que seu IP mude, o mosh mantém o estado da conexão internamente (o que é possível por usar UDP em vez de TCP) e percebe que o seu IP mudou, retomando a conexão em si, e não a sessão, de forma totalmente transparente ao usuário, e bem mais rápida do que retomar uma sessão de screen. Portanto não vejo nenhuma semelhança com a funcionalidade do screen. São coisas completamente diferentes.

    Weber Jr. (usuário não registrado) em 12/04/2012 às 10:33 am

    José Garibaldi

    “Mas onde você viu que o mosh permite continuar uma sessão?”

    Eu não vi, estava me referindo ao que o screen faz.

    ‘Quando ele diz “resume a connection”’

    Independente da discussão aqui “resume” pra mim é na verdade reestabelecer e continuar do ponto que parou.

    “ele se refere a algo bem diferente do que o screen faz – ele se refere a roaming”

    Roaming sim me parece um termo mais apropriado.

    José, mas no geral eu falei em possibilidade de sobreposição, nada concreto.

    Relaxa, eu acho que a idéia é bem boa, não estou querendo que parem de desenvolver, que abandonem, nada disso. Fiz um comentário bem mais relax do que está parecendo. ;)

    Bremm (usuário não registrado) em 13/04/2012 às 5:01 pm

    $ yaourt -Ss mobile-shell
    aur/mobile-shell-git 20120403-1 (44)
    mobile shell (mosh) surviving disconnects with local echo and line editing

Este post é antigo (2012-04-11) e foi arquivado. O envio de novos comentários a este post já expirou.