我遇到了这样的情况:我们试图从一个网络获取数据到另一个网络--特别是访问另一个网络上的私有maven回购。
网络1包含一个maven回购。网络由一对SSH跳保护,其中端口转发在sshd上被禁用。
laptop 中。vpnjumpbox.vpn.network.orgserver.vpn.network.org我们已经成功地在服务器上运行vscode-server,并通过以下方式进行连接:
socat tcp-listen:8080,fork EXEC:"ssh server.vpn.network.org nc localhost 8081"这让笔记本电脑点击localhost:8080,它将流量隧道到我们的server.vpn中,然后进入netcat,并将流量发送到vscode服务器。
我觉得应该可以做相反的事情--我只是被困住了。
目标是通过以下方式在膝上运行Socks5代理
ssh -f -N -D 54321 localhost然后对server.vpn.network.org进行套接字调用,然后使用socks、env,我可以运行maven并让它通过连接返回代理等等。
我采用的方法是尝试这样做:
socat -v TCP:localhost:54321 EXEC:"ssh server.vpn.network.org nc -lkv localhost 54321"这是“某种程度上”的工作,但一直失去联系。
然后我尝试了fork和reuseaddr的组合,他们似乎没有解决这个问题。
我的下一个方法是考虑unix套接字或其他古怪的东西--但我想知道是否有人知道如何使它工作。
谢谢。
发布于 2022-01-30 14:08:46
我不知道我是否理解你的设置和你想要达到的目标。如果我这样做了,您可以将第一个示例替换为:
ssh -L 8080:localhost:8081 server.vpn.network.org相反的解决办法是:
ssh -R 54321:localhost:54321 server.vpn.network.orghttps://unix.stackexchange.com/questions/685962
复制相似问题