Ssh – Kill disconnected SSH session running in `screen`

gnu-screenssh

I'm always forgetting to logoff when ssh-ing somewhere. After I reopen my notebook, a screen window with this running ssh is unresponsive. I have to create another window, $ killall ssh, and only then can I re-ssh back.

Is there a way to kill this ssh using some shortcut?

Or is there a way to make ssh try to reconnect automatically? Or just return the local prompt to me faster?

Best Answer

Try the following ,

 ~.      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).
Related Question