Subject: Re: bug#19702: 25.0.50; Tramp with ssh not working with openssh 6.7 while worked with 6.6

From: Michael Albinus <[email-masked]>
Date: Mon, 02 Feb 2015 10:20:34 +0100

Filipp Gunbin <[email-masked]> writes:

> Michael,

Hi Filipp,

> Release notes for openssh 6.7 [1] tell:
>
>  * ssh(1): Add a %C escape sequence for LocalCommand and ControlPath
>    that expands to a unique identifer based on a hash of the tuple of
>    (local host, remote user, hostname, port). Helps avoid exceeding
>    miserly pathname limits for Unix domain sockets in multiplexing
>    control paths; bz#2220
>
> I changed `tramp-ssh-controlmaster-options' as follows:
>
> (setq tramp-ssh-controlmaster-options "-o ControlPath=%%C -o
> ControlMaster=auto -o ControlPersist=no")
>
> And it started working.

I have committed a patch to the emacs-24 branch which uses %C in
ControlPath if possible. Could you, pls, check? I have no openssh 6.7
installed, so I cannot test myself.

> The original value contained "%t.%%r@%%h:%%p".  %r, %h and %p could be
> substituted by %C as the above doc says.  But what about %t?  It's a
> temporary file as I understand and is substituted by Tramp, not by ssh.
> Is it critical that it should be present in the resulting file name?

In the past there were problems when Tramp used the same ControlPath
like ssh connections started/stopped outside Emacs. That's why Tramp
uses its own one.

> Filipp

Best regards, Michael.