Como Sair de uma Sessão SSH Não Responsiva no Linux

Como Sair de uma Sessão SSH Não Responsiva no Linux

Você pode estar digitando em uma sessão SSH remota e, de repente, nada acontece. O sistema parece não responder às suas teclas. O que você faz?

Veja por que isso acontece, como sair de uma sessão SSH que não responde e por que você pode querer mudar para o Mosh.

O que faz com que as sessões SSH congelem?

O principal motivo do congelamento das sessões SSH é a queda da conexão de rede. Os sinais de Wi-Fi podem cair, ou você pode deixar seu computador hibernar. Isso é mais comum com laptops. Você pode fechar a tampa do laptop e esquecer que ainda está logado via SSH.

O SSH foi originalmente projetado em uma era antes das pessoas usarem laptops rotineiramente. O SSH funciona melhor em redes com fio.

1. Termine com uma sequência de escape

Se sua sessão SSH congelar, tente usar uma sequência de escape. Uma sequência de escape permite que você envie sinais para o cliente SSH em vez da máquina remota. As sequências de escape são precedidas por um caractere de escape. Por padrão no cliente OpenSSH, é o til (~) personagem.

Para sair do cliente SSH, você pode pressionar a tecla til e depois a tecla período (.) chave.

Você também pode alterar o caractere de escape se quiser. Você pode especificar um novo caractere de escape com o -e opção na linha de comando. Você também pode alterá-la permanentemente definindo a EscapeChar opção em seu .ssh/configuração arquivo no seu diretório inicial na máquina local.

2. Usando o comando kill

Procurando por sessão SSH com ps e grep

Se usar uma sequência de escape não funcionar, você pode tentar matar o cliente SSH. Para encontrar o ID do processo (PID) da sua sessão, canalize o comando ps por meio do grep:

ps aux | grep ssh

O argumento “aux” para ps significa “listar todos os processos no sistema, não importa a quem eles pertencem ou se eles têm um terminal de controle ou não”.

Se você tiver várias sessões, você pode escolher a congelada porque a listagem mostrará o nome de usuário e endereço na máquina remota em que as sessões SSH estão logadas. Depois de encontrar o PID da sua sessão, você pode encerrá-la com o comando kill:

matar [PID]

Para melhores conexões SSH, use Mosh!

Sessão remota do Vim sob Mosh com rede desconectada

Uma maneira melhor de evitar sessões SSH congeladas e irritantes é usar o Mosh. Se a conexão cair, o Mosh deixará você continuar conectado. Ele enviará todas as mensagens quando você se reconectar. Ele também funciona quando você coloca sua máquina para dormir.

Você também pode usar um multiplexador de terminal como o GNU Screen ou o tmux para retomar sua sessão SSH após qualquer desconexão, mas o Mosh e o tmux são ainda mais poderosos quando usados ​​juntos.

Para instalar o Mosh no Debian e no Ubuntu:

sudo apt instalar mosh

E no Arch Linux:

sudo pacman -S mosh

Sobre a família de distros Red Hat:

sudo dnf instalar mosh

Agora você pode se livrar de sessões SSH travadas

Sessões SSH sem resposta podem ser frustrantes, mas você pode se livrar delas com uma sequência de escape ou o comando kill. Mosh é uma substituição ainda melhor que manterá sua conexão ativa durante quedas de conexão e hibernações do sistema.

Apoie o nosso trabalho ❤️

Se você gostou deste artigo, considere deixar uma gorjeta para nos ajudar a continuar publicando conteúdo de qualidade.

Pagamento seguro no PayPal
Veja também:  Bicicletas Elétricas Volkswagen-Licenciadas com Óculos Inteligentes
Moyens I/O Staff motivou você, dando conselhos sobre tecnologia, desenvolvimento pessoal, estilo de vida e estratégias que irão ajudá-lo.