What are you doing?
Regarding the controller & server, you can automate that. From my configuration...
```
Host *
ControlMaster auto
ControlPath ~/.ssh/multiplex/master-%r@%h:%p.socket
ControlPersist 35
ServerAliveInterval 30
```
The interval ensures that in-tunnel pings are done automatically.
I'm pretty sure I pulled most of that from some blog somewhere but I can't remember.

