Como posso interromper uma sessão SSH que travou?


62

Muitas vezes, tenho uma sessão SSH que não responde mais (por exemplo, quando perco a conexão com a Internet e reconecto). Ctrl+ C, Ctrl+ D, Ctrl+ Ze um zilhão de pressionamentos de tecla não têm efeito.

Na maioria das vezes eu já tenho tmuxou byobujá estou em execução, para que eu possa iniciar outro terminal e reconectar. No entanto, parece complicado. Como posso desconectar o SSH do terminal atual?

Respostas:


87

Use o "caractere de escape" (normalmente, o til ~) para controlar uma sessão SSH:

  • ~seguido por .fecha a conexão SSH;
  • ~seguido por Ctrl+ Zsuspende o processo SSH;
  • ~seguido por outro ~envia um literal ~.

Você pode definir o caractere de escape usando a -eopção para ssh .

Além disso, lembre-se de que

Você também deve se lembrar de pressionar Enterantes ~. O caractere de escape funciona quando é o primeiro caractere da linha. E também você pode usar ~e mais tarde ?para obter ajuda do cliente ssh. (Graças ao comentário de Lukasz Stelmach .)


11
Você também deve se lembrar de pressionar Enterantes ~. O caractere de escape funciona quando é o primeiro caractere da linha. E também você pode usar ~e mais tarde ?para obter ajuda do cliente ssh.
Lukasz Stelmach

7
~seguido por ?dá-lhe uma lista completa das sequências de escape suportados
Matijs

1

O Openssh pode ser configurado para enviar mensagens ativas do cliente ou servidor para o outro lado. Se nenhuma resposta for obtida, a conexão será encerrada. No lado do servidor, consulte as opções ClientAliveIntervale ClientAliveCountMaxconfig. No lado do cliente, consulte as opções ServerAliveIntervale ServerAliveCountMax. TCPKeepAlivetambém é uma opção, mas é spoofable enquanto as opções anteriores não são, portanto são provavelmente melhores.

Se você definir esses valores razoáveis, provavelmente nunca mais terá uma conexão travada. A única desvantagem é que suas conexões ssh podem permanecer abertas, se você preferir que elas terminem, por motivos de segurança.

Consulte a página de manual de configuração do OpenSSH sshd e a página de manual de configuração do OpenSSH ssh para obter mais informações.


Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.