通过ssh隧道使远程服务器上的代理可用

我知道我可以使用SSH隧道在我的机器上创build一个“代理”,这样我可以使本地生成的所有stream量都通过远程服务器。 喜欢这个:

$ ssh -D 12345 myuser@remote_ssh_server 

但是如果我需要在远程服务器上创build一个“代理”,那么我发送的所有stream量都将通过本地计算机? 这是可能的与SSH?

本质上,我想用我的本地互联网连接与一些特定的命令远程运行,因为服务器没有直接访问互联网。

最简单的方法是一次一个端口和主机。 例如,要将stream量从远程:8001转发到内部服务器:80,

 ssh -R 8001:intraserver:80 myuser@remote 

但是如果你想转发远程的所有stream量,并且你的本地主机上运行了一个ssh服务器,

 ssh -R 2200:localhost:22 myuser@remote ssh -D 10800 -p 2200 localhost 

解开这个:

  • -R 2200:localhost:22从远程设置转发:2200到本地主机:22。
  • ssh -p 2200 localhost在远程运行ssh,连接到remote:2200,然后回到localhost:22(通过第一个ssh连接build立隧道)。
  • -D 10800通过从远程返回到本地主机的连接从远程: -D 10800隧道SOCKS。