A good friend of mine mentioned that SSH supports escape sequences - something I had never thought of. Or rather, something I had wished for every time I'd been faced with a dead SSH connection. Turns out, you can easily close any SSH connection (dead or alive) by issuing the following sequence:
The CR in there is a carriage return, i.e. pressing the enter key to create a new line. One caveat though: the \~ is the default escape character for SSH but it can be changed (or removed) so you need to make sure you're using the proper escape character when issuing escape sequences - otherwise, no fun/profit.
Closing an SSH connection is not the only thing you can do: you can also suspend an SSH connection by doing
where \^Z is \<ctrl>+z. But wait, there's more! You can also change the SSH connection you're in to add or remove port forwards, by opening a command line:
And a personal favourite: if you're using several SSH connections in serial, you can forward an escape sequence by adding another \~ after the first. Closing connection #2 then becomes:
And in the same fashion, suspending the second connection becomes:
This, dear reader, is awesome! There's just no end to the fun :)
The moral: read your man pages (so much good stuff hidden away in there)!