Mate uma sessão ssh sem resposta sem fechar o terminal

110

Existe uma maneira de desconectar de uma sessão SSH que não responde sem matar o terminal inteiro? Especificamente, estou usando o konsole, e a máquina com a qual estou trabalhando às vezes trava, mas na verdade não morre (matando a conexão). Então o SSH trava e eu tenho que fechar o terminal e abrir um novo para tentar voltar ao ssh ou fazer qualquer outra coisa. Existe uma maneira de efetivamente ctrl + c fora de uma sessão ssh?

Falmarri
fonte

Respostas:

150

Uma maneira é usar o caractere de escape ssh. Por padrão, isso é "~", mas pode ser definido manualmente com a -eopção ao chamar ssh ou via EscapeCharna sua configuração ssh. Para matar a sessão interrompida, isso geralmente funciona:

~.

Como apontado por Gilles, isso só é reconhecido imediatamente após o acerto Enter.

Steven D
fonte
25
Na verdade, isso funcionará independentemente do que está acontecendo na máquina remota. O que você experimentou é que ~só está ativo imediatamente depois que você pressiona Enter (caso contrário, seria muito intrusivo).
Gilles
3
Perfeito, eu desejo isso foi documentado melhor em algum lugar, eu nunca vi usar isso antes
Falmarri
4
Em (pelo menos) teclados portuguesa TAP dupla ~e depois.
rsilva4