使用 ssh-socks5 代理通过 jumpserver 隧道传输端口 8080?

使用 ssh-socks5 代理通过 jumpserver 隧道传输端口 8080?

我有这样的设置:

LocalPC – Jumpserver – 页面仅可通过此机器访问的 Web 服务器

localhost:8080

LocalPC 和 Webserver 未连接 - 必须使用 Jumpserver。Jumpserver 无法访问 Webserver 上的网页

我想使用 Firefox 在 LocalPC 上查看此网页。

我知道如何为 Jumpserver 设置 socks 代理 - 通常这就足够了,但在这种情况下不够

ssh -TD 8080 me@jumpserver

我知道如何通过 Jumpserver 隧道传输特定端口

ssh -f -N -q -L 2222:me@target:22 me@jumpserver

但是使用第一种方法只能建立到 Jumpserver 的隧道,而使用第二种方法(端口 8081:me@webserver:8080)不会出现错误,但会导致 404

http://localhost:8081 

在 Firefox 中……

那么我如何在 LocalPC 上查看该网站?

出于安全原因:我需要对两个连接进行加密,并且不允许 Jumpserver 上的其他用户使用该隧道。

(抱歉,代码块不允许我写单词 localhost...)

答案1

我不知道你可以使用菊花链连接 SSH 隧道,但我刚刚尝试了一下,它运行良好。这是我的测试环境

  1. 192.168.1.10 (HearNoEvil) 浏览器
  2. 192.168.1.20 (SeeNoEvil) 中间的小猪
  3. 192.168.1.30 (SpeakNoEvil) 服务器

菊花链看起来像这样

  1. 隧道

192.168.1.30:8080 <-> 192.168.1.20:8081

SeeNoEvil:~# ssh -f -L 8081:127.0.0.1:8080 用户@SpeakNoEvil -N

  1. 隧道

192.168.1.20:8081 <-> 192.168.1.10:8082

HearNoEvil:~# ssh -f -L 8082:127.0.0.1:8081 root@SeeNoEvil -N

Socks 代理 127.0.0.1:8082

https://HearNoEvil.testy.test:8082

我当然是从外向内逆向工作的,SpeakNoEvil 是我的服务器。HearNoEvil 是我的浏览器。希望这对你有帮助。(^_^)

答案2

好的,在这个问题的第一个答案的帮助下我找到了解决方案: https://stackoverflow.com/questions/1010808/ssh-tunnelling-chain#1122282

如果我在 ssh-config 中构建此隧道链,则可以使用 ssh -TD 8080 webserver 并构建动态隧道。然后,我只需在 Firefox 中添加 127.0.0.1:8080 作为 socks5 代理即可。

相关内容