Windows上的Cygwin的SSH ControlMaster实际上可能吗?

有没有人能够在Windows上使用cygwin的控制大师来创build多个会话,而不必反复login? 我需要自动执行一系列SSH步骤,但不能要求用户每次input所需的标记化密码。

我已经configuration了我的cygwin ssh_config如下:

Host * ControlMaster auto ControlPath /tmp/%r@%h:%p 

当我启动第二个连接,再次提示input密码时,在主服务器上收到以下错误消息:

 mm_receive_fd: no message header process_mux_new_session: failed to receive fd 0 from slave 

我见过这个问题的其他人,但我似乎无法find任何解决scheme。

有没有人做这个工作?

显然,经过大量搜索后的结论是,目前这是不可能的。 这些是我发现处理这个唯一的链接:

https://stackoverflow.com/questions/17140457/imitating-a-shared-ssh-session-for-scripts-on-windows “…但是没有实现OpenSSH的Windows这样做(文件描述符超过Unix套接字在Cygwin中不起作用)“。 和

http://gcc.gnu.org/wiki/SSH_connection_caching “不幸的是,如果您在Cygwin上使用OpenSSH,您将无法利用连接缓存,因为Cygwin当前不支持通过unix域套接字传递文件描述符。

对Cygwin来说,它似乎仍然不可能,但在Windows中,这是可能的。 我有这个工作在Windows使用wsl-ssh-pageant和Windows Ubuntu Bash / WSL)。

在bash下安装socat。 然后运行wsl-ssh-pageant,然后用while循环和导出。 如果你的controlmaster正确设置了.ssh并且ControlPath的目录已经创建,那么应该可以工作。