115

Is there a way to disconnect from an SSH session that has become unresponsive without killing the whole terminal? Specifically I'm using konsole, and the machine I'm working with sometimes hangs, but doesn't actually die (thus killing the connection). So SSH just hangs and I have to close the terminal and open a new one to try to ssh back into it or do anything else. Is there a way to effectively ctrl+c out of an ssh session?

159

One way is to use the ssh escape character. By default this is "~", but it can be set manually with -e option when invoking ssh or via EscapeChar in your ssh config. To kill the hung session this will often work:

~.

As pointed out by Gilles this is only recognized immediately after hitting Enter.

| improve this answer | |
  • 27
    Actually this will work regardless of what is happening on the remote machine. What you've experienced is that ~ is only active immediately after you've pressed Enter (otherwise it would be too intrusive). – Gilles 'SO- stop being evil' Oct 9 '10 at 0:04
  • 4
    Perfect, I wish this was documented better somewhere, I've never seen to use this before – Falmarri Oct 9 '10 at 0:18
  • 5
    In (at least) Portuguese keyboards double tap ~ and then . – rsilva4 Mar 11 '13 at 21:10
  • 1
    I was trying to ~^C, not understanding where to place the <kbd>Enter</kbd>, but ~. (as . apparently means to quit) followed by enter did the trick. – mazunki May 15 at 21:56

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.