我们有一个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等)吗?谢谢。
我不确定,但是我的猜测是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),请分享。谢谢。