建立ssh隧道,动态代理端口转发,访问通过跳板机的WEB

7 阅读2分钟

要让浏览器通过 3jump 这台跳板机访问内网服务,最优雅的方式是利用 SSH 动态端口转发(SOCKS5 代理)

简单来说:你在本地开一个“隧道”,让浏览器把请求发给这个隧道,SSH 客户端会通过 3jump 帮你把请求转发出去。


第一步:建立 SSH 隧道

在你的本地终端(Terminal 或 PowerShell)中运行以下命令。这会建立一个动态转发:

Bash

ssh -D 1080 -N xxxxxx@10.2.xx.xx -p 51730

参数解释:

  • -D 1080: 在本地开启 1080 端口作为 SOCKS 代理服务器。
  • -N: 告诉 SSH 只建立连接,不执行远程命令(这样就不会弹出远程 Shell 界面)。
  • -p 51730: 指定你配置中的特殊端口。

注意: 运行后窗口会“卡住”不动,这是正常的,表示隧道正在运行。保持窗口不要关闭。


第二步:配置浏览器

有两种方法可以让浏览器使用这个隧道:

方法 A:使用插件(推荐,最灵活)

如果你经常需要切换代理,建议安装 Proxy SwitchyOmega(Chrome/Edge/Firefox 均有)。

  1. 新建一个情景模式(Profile),命名为 SSH-Jump
  2. 代理协议选择:SOCKS5
  3. 代理服务器:127.0.0.1,端口:1080
  4. 点击“应用选项”。
  5. 在浏览器插件图标处选择 SSH-Jump 模式即可访问。

方法 B:直接修改系统/浏览器设置

如果你不想装插件:

  1. Windows: 搜索“代理设置” -> 手动设置代理 -> 开启“使用代理服务器” -> 填写地址 127.0.0.1 端口 1080
  2. macOS: 系统设置 -> 网络 -> 详细信息 -> 代理 -> 勾选 SOCKS 代理 -> 填写 127.0.0.11080

进阶:配置 SSH Config (一劳永逸)

既然你已经有了 Host 3jump 的配置,你可以直接修改你的 ~/.ssh/config 文件,添加动态转发规则:

Plaintext

Host 3jump
    HostName 10.2.xx.xxx
    User xxxx
    Port 51730
    DynamicForward 1080  # 以后只需 ssh 3jump,代理就自动开了

配置好后,你只需在终端输入 ssh -fN 3jump-f 会让它在后台运行),浏览器就能直接用 1080 端口上网了。


常见问题排查

  • 连接超时? 确保你的本地机器能 ping 通 10.2.208.215,或者确认公司 VPN 是否已连接。
  • DNS 解析失败? 在 SwitchyOmega 中,确保勾选了“通过代理服务器解析 DNS”,否则可能无法访问内网域名。

需要我帮你写一个自动连接并隐藏到后台的脚本吗?