ControlMaster multiplexes all connections to defined hosts through a single TCP connection, dramatically lowering the time it takes to initiate a new connection. Only worthwhile doing if you set up multiple connections to the same host.
For example, from where I am at the moment, running a short command over SSH takes almost 3.5 seconds of wall-clock time:
time ssh hippo.ww.mens.de 'uname' Linux real 0m3.403s user 0m0.008s sys 0m0.007s
I enable ControlMaster by configuring the following in
Host * ControlMaster auto ControlPath ~/.ssh/controlmaster/%r@%h:%p
I create the specified directory for the Unix sockets, and start the first session to the target host.
In another terminal, I then re-run the command I used above:
time ssh hippo.ww.mens.de 'uname' Linux real 0m0.108s user 0m0.003s sys 0m0.004s
Very impressive. This is an SSH option I will keep enabled.
OpenSSH 5.5 introduces an option called
ControlPersist which automatically starts
a background multiplexer when connecting to a host for the first time. This
background connection can stay alive indefinitely or it can be set to close
after a specified duration of inactivity.