如何在Windows WSL2上使用shuttle

问题描述 投票:0回答:1

我们有一个Jenkins服务器,只能从云上的VPC内部访问。在Mac和Linux上,我使用sshuttle与堡垒实例建立ssh连接(以充当代理),然后在浏览器中打开Jenkins控制台。一切正常。现在我在Windows上,尝试在WSL2上执行相同的操作。如果以前没有记错,sshuttle在WSL1上不起作用(失败,并显示一些错误消息),但是我设法在WSL2上运行它而没有任何问题。 ssh连接已建立,我可以访问我的Jenkins(使用curl)。然后,我尝试通过WSL2在Windows上访问我的Jenkins:1.我找到了WSL2的IP地址和ssh tunnle的端口:

# 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等)吗?谢谢。

windows ssh proxy windows-subsystem-for-linux ssh-tunnel
1个回答
0
投票

我不确定,但是我的猜测是sshuttle实际上并不充当SOCKS代理,这就是重置连接的原因。我设法使用ssh SOCKS代理ssh -D 0.0.0.0:1080 rad@bastion访问Windows计算机上的Jenkins,并将Firefox配置为使用SOCKS代理。有趣的是,为此,您甚至不需要WSL。看来Windows 10具有OpenSSH,您可以使用它。只需打开CMD并键入ssh -D 1080 rad@bastion,然后将Firefox设置为使用localhost作为代理即可。如果使用此方法有更好的解决方案或任何评论/疑虑(除了DNS over SOCKS),请分享。谢谢。

© www.soinside.com 2019 - 2024. All rights reserved.