119

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?

1
166

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.

4
  • 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 '20 at 21:56
3

Sorry to repost accepted answer. Just to clarify it, Hope it help newcomer.

  1. Press Enter

  2. Press shift~

  3. Press .

Cursor will get back to local prompt.

1
  • This is much clearer than the accepted answer. – proximous Feb 22 at 22:39

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.