我有一个运行 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