SSH LocalForward 使用 .ssh/config 将 unix 套接字转发到 windows tcp 端口

SSH LocalForward 使用 .ssh/config 将 unix 套接字转发到 windows tcp 端口

我有一个运行 docker 的开发服务器,通常从 Windows 10 连接到它,如下所示:

> ssh -V
OpenSSH_for_Windows_7.6p1, LibreSSL 2.6.4

> ssh -NL localhost:23750:/var/run/docker.sock my-devserver

我有一个/.ssh/config文件可以方便地为我转发一些端口,例如 5432 上的 postgres:

Host my-devserver
    IdentityFile C:\Users\MyUserName\.ssh\id_rsa
    HostName devserver.example.com
    User someuser
    LocalForward 5432 localhost:5432

我想要做的是将我的服务器.ssh/config也设置为/var/run/docker.sock从远程服务器转发到端口 23750。我天真地尝试过:

    LocalForward /var/run/docker.sock localhost:23750

但这失败了:

bind: Not a socket
unix_listener: cannot bind to path: /var/run/docker.sock

为什么这会失败,以及如何配置主机将套接字文件转发到 Windows 下的 tcp 端口.ssh/config

答案1

尝试反转参数的顺序:

    LocalForward 23750 /var/run/docker.sock

相关内容