Fica tranquilo: sua sessão SSH não precisa morrer quando a internet cai
Você já passou por isso: está rodando um comando demorado no terminal via SSH, a conexão cai (caiu o wi-fi, fechou o notebook, a VPN engasgou) e... tudo que estava rodando some junto. Frustrante, né? A boa notícia é que existe uma solução simples e usada por qualquer administrador de servidor experiente: tmux ou screen. Eles criam uma sessão de terminal que continua viva no servidor mesmo se você desconectar — e quando voltar, está tudo exatamente como você deixou.
Antes de começar: este guia assume que o seu plano tem acesso SSH habilitado. Nem todo plano vem com isso liberado por padrão — se não tiver certeza, confira no seu painel (painel.gehost.com.br) ou fale com o suporte que a equipe confirma pra você.
O que são tmux e screen, na prática?
Pensa neles como um "controle remoto" para o seu terminal. Você abre uma sessão, roda o que precisar dentro dela e, em vez de fechar o terminal quando for embora, você só "solta" (dá detach) da sessão. Ela continua rodando no servidor, invisível, esperando você voltar. Quando reconectar via SSH, é só "pegar de volta" (attach) e a tela aparece exatamente como estava — comandos rodando, histórico, tudo.
A diferença entre os dois é só de gosto: screen é mais antigo e simples; tmux é mais moderno e tem mais recursos (como dividir a tela em painéis). Se o seu servidor tiver os dois disponíveis, qualquer um resolve o problema. Este guia mostra o passo a passo dos dois.
Passo a passo com tmux
1. Verifique se o tmux está instalado
Conecte via SSH normalmente e digite:
tmux -V
Se aparecer um número de versão, ótimo, já está pronto pra usar. Se aparecer "comando não encontrado", chame o suporte da GeHost e pergunte se é possível disponibilizar o tmux no seu ambiente.
2. Crie uma nova sessão
Basta digitar:
tmux new -s minha-sessao
O -s minha-sessao é opcional, mas é uma ótima prática: dar um nome à sessão (por exemplo, o nome da tarefa que você vai rodar) facilita muito encontrá-la depois.
3. Trabalhe normalmente
Dentro da sessão tmux, use o terminal como sempre usaria: rode scripts, comandos de backup, importações de banco, o que precisar.
4. Desconecte sem matar a sessão (detach)
Quando quiser sair sem interromper o que está rodando, pressione:
Ctrl + b, depois solte e aperte d
Você volta pro terminal "normal" e pode até fechar a janela do SSH — a sessão continua rodando no servidor.
5. Volte para a sessão depois (attach)
Quando reconectar via SSH, digite:
tmux attach -t minha-sessao
Pronto, está tudo lá do jeitinho que você deixou.
6. Liste as sessões abertas
Se esqueceu o nome ou quer ver o que está rodando:
tmux ls
7. Encerre a sessão quando não precisar mais
De dentro da sessão, digite exit ou pressione Ctrl + d. Isso sim encerra a sessão de vez (diferente do detach, que só te desconecta).
Passo a passo com screen
1. Verifique se o screen está instalado
screen -v
2. Crie uma nova sessão
screen -S minha-sessao
3. Trabalhe normalmente
Use o terminal como de costume dentro da sessão.
4. Desconecte sem encerrar (detach)
Ctrl + a, depois solte e aperte d
5. Volte para a sessão depois (attach)
screen -r minha-sessao
6. Liste as sessões abertas
screen -ls
7. Encerre a sessão
De dentro da sessão, digite exit.
Dicas de quem já apanhou disso
- Sempre dê nome às sessões. "minha-sessao" no exemplo pode virar "backup-loja", "importa-dados" — assim você não se perde entre várias sessões abertas.
- Detach é diferente de fechar o terminal errado. Se você simplesmente fechar a janela do terminal sem dar o comando de detach, normalmente a sessão continua viva mesmo assim — mas o caminho seguro e garantido é sempre fazer o detach corretamente antes de sair.
- Uma sessão esquecida ainda consome recursos. Depois que terminar de usar, lembre de encerrar (
exit) as sessões que não precisa mais, em vez de deixar acumulando. - Múltiplas janelas dentro da mesma sessão: tanto tmux quanto screen permitem abrir "abas" extras dentro da mesma sessão (no tmux,
Ctrl + bdepoisc). Útil se você quiser rodar mais de uma coisa ao mesmo tempo sem abrir várias conexões SSH.
Dica de ouro da Sensei: use tmux ou screen sempre que for rodar algo que demora mais que alguns minutos (migração de site, importação de banco grande, compactação de arquivos pesados). É o hábito que separa quem perde trabalho de conexão caindo de quem simplesmente reconecta e segue de onde parou.
Se tiver qualquer dúvida durante o processo, ou não tiver certeza se o SSH está disponível no seu plano, é só chamar o suporte da GeHost ou dar uma olhada no seu painel do cliente. Boa sessão (persistente) de trabalho! 🧘