ssh 端口反代与内网穿透

tsvico Lv5

ssh 端口反向代理与内网穿透

背景

出于安全考虑公网 IP 仅暴露了内网跳板机的 22 端口,想借用 ssh 端口转发实现简易内网穿透。

内网对本地

假设服务器 (跳板机) 的 22 端口通过端口映射暴露在公网 123.45.67.89:22

1
2

ssh -L 7800:127.0.0.1:7800 root@123.45.67.89 -p22

本地访问 http://localhost:7800 即可转发到 123.45.67.89:22:7800

可通过 ssh 将内网的 127.0.0.1:7800 转发至本机的 7800

对于明文传输 http 也起到了加密作用,适用于不安全的网络环境

反向转发

说一个场景 服务器要访问 Google,但是由于某些原因无法访问,而本机又有提个科学的工具,需要转发本地的代理供远程访问

1
2
3

ssh -R 7890:localhost:7890 root@123.45.67.89 -p22

然后在服务器上使用代理 http://127.0.0.1:7890
具体使用见 常用代理设置

第三方工具

以上方法在控制台断开后均停止,借助第三方工具 MobaXterm 可以实现此功能

图片仅可国内访问

流量代理

使用 ssh 可以快速搭建 SOCKS5 代理,运行下面命令就可以在本机使用目标 remote-host 的网络上网

1
ssh -D 1080 user@remote-host

可选增强:

1
ssh -D 1080 -f -C -q -N user@remote-host
  • -f:后台运行

  • -C:压缩传输数据

  • -q:静默模式

  • -N:不执行远程命令,仅用于端口转发

使用方法

1
curl --socks5 127.0.0.1:1080 http://example.com

工具生成

针对上述命令,现增加 ssh 转发命令生成器 工具

  • 标题: ssh 端口反代与内网穿透
  • 作者: tsvico
  • 创建于 : 2022-11-16 16:51:00
  • 更新于 : 2025-04-22 19:57:36
  • 链接: https://blog.tbox.fun/2022/1074997287.html
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论