Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for Control Master #1328

Open
dwatley opened this issue Jan 23, 2019 · 14 comments
Open

Support for Control Master #1328

dwatley opened this issue Jan 23, 2019 · 14 comments

Comments

@dwatley
Copy link

dwatley commented Jan 23, 2019

I noticed in the previous roadmap the Control Master feature was not going to be ready for the initial release. Any plans to support this in the future?

We have use cases for multiplexing ssh connections.

@manojampalam
Copy link
Contributor

Its not in the horizon yet, unfortunately. It relies on a particular feature of Unix Domain sockets ( passing ancillary data ), that's not easy to realize in Windows.

@lars18th
Copy link

lars18th commented May 4, 2019

Hi @manojampalam ,

Perhaps it's best to not use Unix Domain sockets (only available over WSL) and implement a simple communication over pipes.

In any case I hope you can implement it soon, as the VSCode Remote SSH uses this functionality.

Regards.

@musm
Copy link

musm commented Sep 23, 2020

bump any status?

@psz2036
Copy link

psz2036 commented Jan 13, 2021

This is exactly the older #405
I also wish it was fixed/solved...

@mew1033
Copy link

mew1033 commented Feb 10, 2021

I've been migrating over from Putty/Kitty to OpenSSH on Windows 10. Just realized that this isn't supported yet. Here's my 👍 to adding ControlMaster support. Would love to see it.

@lgretton
Copy link

I'm similar to mew1033, just migrated from PuTTY and multiplexing is the one feature that's preventing me from being able to drop PuTTY altogether.

@mew1033
Copy link

mew1033 commented Feb 10, 2021

@lgretton This is definitely not multiplexing, but you can get sucky fake multiplexing using ProxyCommand. I did this:

Host myTunnel
    HostName iwantcontrol.master
    ForwardAgent yes
    DynamicForward 29123

Host crappymultiplexedhost
    HostName hostIWant
    ProxyCommand ncat --proxy-type socks5 --proxy localhost:29123 %h %p

It kinda sorta works. ¯\_(ツ)_/¯

@musm
Copy link

musm commented Feb 18, 2021

Does MSFT still maintain this package? IMO it would be better for the team to upstream the changes. We are getting updates at a glacial pace and we still have many missing features.

@therealpxc
Copy link

Can we at least have the client report that the feature is not supported instead of printing opaque errors about sockets, as though the feature were implemented but happened to have suffered some incidental mishap?

@comio
Copy link

comio commented Sep 27, 2021

Connection multiplexing should be a must-to-have feature.
Can you increase the priority of this feature?

thanks a lot (and thanks to listen your community).

ciao

luigi

@mew1033
Copy link

mew1033 commented Oct 17, 2022

Just back for the yearly ping. Any updates on possibly bringing ControlMaster to powershell ssh?

Thanks!

@psz2036
Copy link

psz2036 commented Mar 24, 2023

Note comment in #405
#405 (comment)
about workaround with "ssh -O proxy". (I have not tried myself.)

@lgretton
Copy link

Do we think ControlMaster support will ever appear? This particular issue recently celebrated its fifth birthday :-(

@dveni
Copy link

dveni commented Jun 19, 2024

Not really a solution for control master support but a possible workaround for multiplexing is using wsl ssh, I just set it up for vscode remote dev (following this: microsoft/vscode-remote-release#937 (comment)) and it seems to work fine.

The idea is basically to use a bat file containing this to bridge to wsl ssh:

C:\Windows\System32\wsl.exe ssh -J [DESTINATION] %*

where DESTINATION is the already open ssh tunnel. This is a bit ugly, it would be nice to get support for multiplexing on windows.

chrisd8088 added a commit to chrisd8088/git-lfs that referenced this issue Nov 6, 2024
Since commit 448b0c4 in PR git-lfs#5537
the GetExeAndArgs() function in our "ssh" package sets the default
value of our "lfs.ssh.autoMultiplex" configuration option to "false"
when running on Windows, and "true" otherwise.

This choice was made because the SSH clients available on Windows
may not support multiplexing SSH sessions over a single connection,
as OpenSSH does with its ControlMaster and ControlPath options.

Since some of these SSH clients may fail if they are passed the
ControlMaster and ControlPath options, we require Windows users who
want to use SSH multiplexing to explicitly enable it by setting the
"lfs.ssh.autoMultiplex" option to "true".  See also the discussion in:

  git-lfs#5537 (comment)

However, our git-lfs-config(5) manual page was not updated in PR git-lfs#5537
to reflect the change in the default value of the "lfs.ssh.autoMultiplex"
option on Windows, so we update it now.

Note that users with the Git for Windows project installed will
typically have a version of OpenSSH available which supports the
ControlMaster option.  However, the OpenSSH for Windows client may
not support multiplexing, as noted in PowerShell/Win32-OpenSSH#1328.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

10 participants