SSH 和端口转发 socks 代理

SSH 和端口转发 socks 代理

我想设置一个包含 3 台机器的 ssh 隧道。其中一台机器我想发出 http 请求,但只能连接到中央服务器和出站端口 80 请求。该服务器是一个 Linux 机器,我有完全的 root 访问权限。第三台机器是我的笔记本电脑。我考虑设置一个 ssh 链,其中 http 机器将远程端口转发到服务器,即 ssh -R 9999:localhost:9999 user@server_ip_address。然后我可以从我的笔记本电脑“ssh -D8080 user@server-ip-address”,中间有一些 netcat,但我不知道中间要使用什么命令。

有人能告诉我我的想法哪里错了吗?或者我该如何实现这一点……

答案1

我有点困惑...你是说你有一个 Linux 网络服务器并且你想通过 SSH 隧道连接到它?

您可以使用 SSH 的 -L 和 -g 开关来执行此操作。如果您有一个远程 Linux 系统,并且端口 22 已打开,并且您在现场远程拥有两台机器...调用服务器 A 和您远程拥有的另外两台机器 B 和 C...您可以在机器 B 上使用 -g 和 -L 使用适当的命令行(如 ssh -g -L 5000:remote-ip:80 yourname@remoteIP)在 A 和 B 之间创建隧道以连接到机器 A,然后在 B 上指向本地主机端口 5000 以打开 A 的网站,笔记本电脑 C 可以使用机器 B 上的 Web 浏览器连接到端口 5000,这也会打开机器 A 的网页。-L 处理端口转发和映射,-g 允许除运行 SSH 的主机之外的其他机器访问隧道。

这有帮助吗?

请记住,加密仅在 A 和 B 之间。C 和 B 之间的流量未加密。

答案2

您难道不想从笔记本电脑上运行以下命令:

ssh-L 9080:网络服务器:80 用户@中央服务器

然后将笔记本电脑的浏览器指向

http://本地主机:9080

相关内容