When my ssh connection hangs (usually after ADSL PPPoE reconnect), I always was able to kill it using "<Enter>~." combination (EscapeChar is set to ~, by default). Few days ago I've added this to my ~/.ssh/config: ControlMaster auto ControlPath /tmp/ssh_mux_powerman/%r@%h:%p ControlPersist 15m and since that time I no longer able to kill hang ssh connection this way (I've to start ssh with "-O exit" from command line for this). My first thought was EscapeChar doesn't compatible with ControlMaster, but later I notice "<Enter>~." combination works just fine while ssh connection is alive, and stop working only after connection hangs. So, I decide this may be a bug. In any case, it's very annoying side effect of otherwise cool feature ControlMaster.
I've seen this a couple of times, but only when using ControlPersist and I didn't have the presence of mind to attach with a debugger. If you can catch it, a stack trace of where it is stuck would be immensely helpful in debugging this intermittent problem.
silly me - this was already reported in bug 1917. *** This bug has been marked as a duplicate of bug 1917 ***
Set all RESOLVED bugs to CLOSED with release of OpenSSH 7.1