Dica para quem usa shell remoto, SSH

Há anos, tenho usado Mosh para contornar instabilidades e mobilidade de redes, já que ele se baseia em UDP e é bem adequado a isso, sem precisar manter uma “conexão” caso usasse TCP. É projetado para lidar com as perdas e a funcionar conforme haja comunicação.

O problema que enfrentei com Mosh recentemente foi ao precisar passar por máquinas intermediárias (como em ssh -J — vide manual), algo que se tornou necessário recentemente no ambiente de trabalho. Estive desde então pesquisando como resolver isso. Com o próprio Mosh, não consegui adequadamente, embora continue possível utilizá-lo para acessar uma máquina disponível diretamente e abrir N shells com, p. ex. e o que recomendo, Byobu. É um gerenciador de “janelas” de terminal que mantém uma “sessão”, podendo deixá-la aberta, sair e retomar posteriormente, ou que persiste caso haja desconexão. Assim, um multiplexador como Byobu por si só já é uma solução para quem deseja contornar perdas de conexão, mesmo usando o próprio SSH. Aliado ao Mosh, então, formava uma dupla mais eficiente, praticamente infalível. Pena que não consigo fazer o Mosh se comunicar com host que não esteja disponível por SSH, mesmo tentando chamar manualmente os programas servidor e cliente.

Felizmente descobri agora, enfim, o autossh, cujo propósito é simplesmente monitorar o estado da conexão do SSH e reiniciá-la quando ela cai. Para a operação ser viável, configure devidamente uma maneira de se autenticar, preferencialmente com par de chaves, sem que o programa tenha que ficar esperando digitação de senha a cada reconexão. Se não abrir um multiplexador de terminal, também não vai adiantar muito, podendo surgir problemas em uma desconexão súbita. É possível habilitar Byobu para que seja iniciado a cada shell com o comando byobu-enable. A solução com autossh não é tão eficiente quanto mosh, mas já funciona bem, na combinação com Byobu.

Todos eles estão disponíveis nos repositórios principais do Debian GNU/Linux, entre outros. Portanto, recomendo pesquisar os atalhos do Byobu, no caso, para dominá-lo e usá-lo sempre! ( mosh ou autossh ) + byobu já! 💌


Byobu é, na realidade, um conjunto de scripts e configurações que visam tornar tmux ou GNU screen mais amigáveis, utilizando o que estiver disponível entre eles (tmux por padrão). Assim, as afirmações acima valem para eles também, caso prefira usá-los diretamente.


Consta ainda um projeto mais recente, chamado Eternal Terminal, que pretende funcionar semelhantemente a Mosh, porém lidando com TCP e alegando até suportar saltos de SSH. Embora publicado nos termos da licença Apache 2.0, não está disponível nos repositórios Debian oficiais até o momento. Então ainda não o testei, pois já fiquei satisfeito com autossh, fornecido pela distribuição.

#shell #OpenSSH #ssh #byobu #tmux #gnu #GNUlinux #debian #mosh #autossh #unix

  🇧🇷 🇵🇹  Este blog © 2023- por Daltux é publicado sob a Licença CC BY-SA 4.0.
🇺🇸 🇨🇦 🇬🇧  This blog © 2023- by Daltux is licensed under CC BY-SA 4.0