{ 10 comments… read them below or add one }

1 Robert de Bock August 21, 2008 at 10:54 am

Wow, that is indeed a good trick! Never heard of these configuration variables.

Works on Mac OS X 10.5.4, the only remark;
– I have the options set for no host, so your ~/.ssh/config could just be like this:

ControlMaster auto
ControlPath /tmp/ssh-%r@%h:%p

– The manpage suggests to use the variables with different capitalization. See example above.

Regards and thanks for the great trick, indeed fast!

Robert de Bock.


2 hilbert00 November 11, 2008 at 7:21 am

I’m concerned about security. Is there any security issue using re-using ssh connections?



3 hypatia February 3, 2009 at 12:21 pm

The ONLY draw back I’ve found to this is that because all subsequent SSH requests to the same host share the TCP connection, doing a bulk SCP will slow down the responsiveness of the interactive sessions. It’s not a problem most of the time.


4 silvere March 15, 2009 at 10:33 am

why doesn’t it works in my cygwin?

The error is:
$ ssh sunjingwei@relay01
ssh_msg_recv: read: header
muxclient: msg_recv

thank u very much.


5 Tamas Herman April 17, 2009 at 11:30 pm

$ ssh -fNM eta
$ ssh eta ls
mm_receive_fd: no message header
muxserver_accept_control: failed to receive fd 0 from slave
ssh_msg_recv: read: header
muxclient: msg_recv


6 Dale Schaafsma September 2, 2009 at 1:46 pm

FYI, ssh manpages recommend storing the socket in a private location to prevent other users from using the same socket.
As for the cygwin error, my research so far indicates that this is due to passing around a file descriptor… https://bugzilla.mindrot.org/show_bug.cgi?id=1278


7 Allayna April 16, 2011 at 3:17 am

You’re the grteesat! JMHO


8 Wojtek March 6, 2012 at 4:00 pm

does it works on windows?
My config file looks like:

Host xxxx.xxxxx.xx
    HostName xxxx.xxxxx.xx
    Port YY
    User xyz
    IdentityFile C:\Users\x\.ssh\id_rsa
    ControlMaster auto
    ControlPath C:\Users\x\.ssh\ssh-%r@%h%p

But i have to enter password every time, when connecting to host :(


9 Vaughan August 21, 2012 at 7:57 am

This is unreal!

Connections to EC2 instances took ~6 seconds to negotiate a connection.

I’m using Chef-Solo and the multiple stages involved in deploying code such as rsync, scp, remote ssh commands, were being dragged down by this connection.

You have made my day!


10 Tim Zehta February 18, 2013 at 4:12 pm

I wrote an open source utility to managed background ControlMaster sessions: https://github.com/ClockworkNet/cmc


Leave a Comment

Tagged as: , , , , , , , , , , ,

Previous Faq:

Next Faq: