我想设置一个包含 3 台机器的 ssh 隧道。我想从一台机器发出 http 请求,但只能连接到中央服务器和出站端口 80 请求。服务器是一个我拥有完全 root 访问权限的 linux 机器。第三台机器是我的笔记本电脑。我正在考虑建立一个 ssh 链,其中 http 机器将远程端口转发到服务器,即 ssh -R 9999:localhost:9999 user@server_ip_address。然后从我的笔记本电脑上,我可以“ssh -D8080 user@server-ip-address”,中间有一些 netcat,但我不知道中间使用什么命令。
有人可以告诉我我的想法哪里出错了吗?或者我如何才能做到这一点......
我有点困惑......你是说你有一个 Linux 网络服务器,你想通过 SSH 隧道连接到它?
您可以使用 -L 和 -g 切换到 SSH 来执行此操作。如果您有一个开放端口 22 的远程 Linux 系统,并且您在现场有两台机器远程...调用服务器 A 和另外两台您远程使用 B 和 C 的机器...您可以创建一个隧道在 A 和 B 之间使用 -g 和 -L 在机器 B 上使用正确的命令行(如 ssh -g -L 5000:remote-ip:80 yourname@remoteIP)连接到机器 A 然后在 B 上指向本地主机端口 5000 到打开 A 的网站,笔记本电脑 C 可以使用机器 B 上的 Web 浏览器连接到端口 5000,这也将打开机器 A 的网页。-L 处理端口转发和映射,-g 允许除运行 SSH 的主机之外的其他机器访问隧道。
这有帮助吗?
请记住,加密仅在 A 和 B 之间进行。C 和 B 之间的流量未加密。
您是否只想从笔记本电脑上运行以下命令:
ssh -L 9080:网络服务器:80 用户@中央服务器
然后将笔记本电脑的浏览器指向
http://localhost:9080