SSH隧道绕过防火墙(http和socks)

Baf*_*eek 2 linux firewall ssh socks-proxy tunnel

我在设置以下内容时遇到问题:

我在本地机器(我的笔记本)上使用 Linux。

我通过 ssh 进入位于防火墙后面的公司机器 REMOTE,并且只允许传入的 ssh 连接(端口 22),没有任何出站连接。我在本地和远程都拥有完全的 root 访问权限,但是远程是 VPS 并且在硬件防火墙后面。

我现在需要远程访问网络(HTTP 和其他协议)来下载和构建一些软件。我还需要访问非 HTTP 协议,例如 git。

我希望建立一个反向 SSH 隧道来使用我的 LOCAL 机器,我可以在其中运行袜子服务器。因此,REMOTE 上的网络访问将通过 SSH 隧道重定向到在机器 LOCAL 上运行的 socks 服务器。

我将如何设置这样的东西?

谢谢

Baf*_*eek 5

结果证明这比我想象的要容易得多,我做错的是试图用一个命令完成所有事情(这实际上应该是可能的,因为我只需要在 LOCAL 上运行命令)。

唯一需要做的是 1) 在 LOCAL 和 REMOTE 之间建立反向隧道,然后在 LOCAL 上启动动态端口转发。

我现在可以通过 LOCAL 隧道访问远程 Internet 访问,socks 应用程序设置为使用转发端口,该端口重定向到在 LOCAL 上运行的动态端口转发。

本地:> ssh -D SOCKS_PORT local_user@localhost -p LOCAL_SSH_PORT

本地:> ssh -R SOCKS_PORT:本地主机:SOCKS_PORT remote_user@REMOTE -p REMOTE_SSH_PORT