The only issue I had with ControlMaster, IIRC, was that when I killed the original connection, it would take everything else down with it.
There's a good chance I was just doing it wrong™ though.
There's a good chance I was just doing it wrong™ though.
The way I usually do it is by opening something over TRAMP before opening any other ssh windows. That way, Emacs will handle the connection maintenance and I don't really need to see that it's up. If it dies, I just try saving something and it'll re-establish the connection.
If you don't use Emacs, you can always just start a dummy connection first and minimize/disown it.
Good tip about TRAMP, although I tend to exit out of my emacs sessions frequently. For my long running ssh tunnels, I just screen them.