![](/img/trans.png)
[英]Kubernetes how to correctly mount windows path in wsl2 backed environment
[英]How to Use sshuttle on Windows WSL2
我们有一个 Jenkins 服务器,只能从云上的 VPC 内部访问。 在 Mac 和 Linux 上,我使用sshuttle
与堡垒实例建立 ssh 连接(充当代理)并在浏览器中打开 Jenkins 控制台。 一切正常。
现在我在 Windows 上,并试图在 WSL2 上做同样的事情。 如果我之前没记错的话, sshuttle
在 WSL1 上不起作用(失败并出现一些错误消息),但我设法在 WSL2 上运行它而没有任何问题。 ssh 连接已建立,我可以访问我的 Jenkins(使用curl
)。
然后我尝试通过 WSL2 在 Windows 上访问我的 Jenkins:
1.我找到了WSL2的IP地址和端口ssh隧道:
# lsof -i -n | grep ssh
sshuttle 1234 rad 5u IPv4 39270 0t0 TCP *:socks (LISTEN)
ssh 5678 rad 3u IPv4 40252 0t0 TCP 172.25.236.84:57578->bastion:ssh (ESTABLISHED)
2. 我配置了 Firefox (v77) 的网络代理设置来使用我的 ssh 隧道:
Manual proxy configuration
SOCK host: 172.25.236.84
Port: 1080
SOCKS V5 (tested with V4 as well)
但加载页面失败,Firefox 上出现“连接已重置”错误。 我通过 Powershell 测试了 SOCKS 端口已打开并响应(使用Test-NetConnection
)。
1.知道问题是什么吗? 如何让它发挥作用?
2. 如果不行,是否有其他解决方案(例如 Docker 等)?
谢谢。
我不确定,但我的猜测是sshuttle
实际上并没有充当 SOCKS 代理,这就是连接被重置的原因。
I managed to access my Jenkins on Windows machine using ssh SOCKS proxy: ssh -D 0.0.0.0:1080 rad@bastion
and configured Firefox to use the SOCKS proxy.
有趣的是,为此您甚至不需要 WSL。 Windows 10 似乎有 OpenSSH,你可以使用它。 只需打开 CMD 并输入ssh -D 1080 rad@bastion
并设置 Firefox 以使用 localhost 作为代理。
如果有任何更好的解决方案或任何评论/关注(除了 DNS over SOCKS),请分享。
谢谢。
作为 WSL(2) 的替代方案,您可以运行常规 SSH 隧道。
例如:
ssh -N -L 127.0.0.1:5432:some_domain_to_forward:5432 user@jumpbox_ip
然后只需连接到 127.0.0.1:5432
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.