Linux / UNIX: Kill Unresponsive SSH Session

last updated in Categories ,

Sometime my ssh session just stops working because of the internet connection problem. I tried pressing CTRL+Z and CTRL+C to terminate session, but failed to work. How do I properly kill a hung SSH session without killing my local terminal or using kill command?

From the ssh man page:

When a pseudo-terminal has been requested, ssh supports a number of functions through the use of an escape character. A single tilde character can be sent as ~~ or by following the tilde by a character other than those described below. The escape character must always follow a newline to be interpreted as special. The supported escapes (assuming the default ‘~’) are:
~. Disconnect.

So all you’ve to do is press [Enter] key followed by ~.. Please note that escapes are only recognized immediately after newline.

Ssh ESCAPE CHARACTERS List

     ~.      Disconnect.

     ~^Z     Background ssh.

     ~#      List forwarded connections.

     ~&      Background ssh at logout when waiting for forwarded connection / X11 sessions to terminate.

     ~?      Display a list of escape characters.

     ~B      Send a BREAK to the remote system (only useful for SSH protocol version 2 and if the peer supports it).

     ~C      Open command line.  Currently this allows the addition of port forwardings using the -L, -R and -D options (see above).  It also allows the cancellation of existing remote port-forwardings using -KR[bind_address:]port.
             !command allows the user to execute a local command if the PermitLocalCommand option is enabled in ssh_config(5).  Basic help is available, using the -h option.

     ~R      Request rekeying of the connection (only useful for SSH protocol version 2 and if the peer supports it).

References:

  • man page ssh (see ESCAPE CHARACTERS section).

Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin, DevOps engineer, and a trainer for the Linux operating system/Unix shell scripting. Get the latest tutorials on SysAdmin, Linux/Unix and open source topics via RSS/XML feed or weekly email newsletter.

Share this on (or read 5 comments/add one below):

5 comment

  1. I found this guys

    kill -1 `ps ax –forest | grep -i testdrive | grep -i priv | cut -d ” ” -f 1`

    Have a question? Post it on our forum!