Como usar tmux ou screen para manter sessões SSH ativas após desconectar imprimir

  • 0

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 + b depois c). Ú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! 🧘


Esta resposta lhe foi útil?

« Retornar