10 comment

  1. 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. 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.

  3. 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.

  4. $ 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

  5. Hi,
    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 :(

  6. 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!

    Still, have a question? Get help on our forum!