经常遇到这样的场景:公司内网的一台 Windows 主机需要远程操作,但它没有公网 IP,端口也开不出去;或者帮朋友远程处理电脑问题,对方家里是普通宽带,做不了端口映射。
传统的做法是装 TeamViewer、向日葵这类第三方远程软件,或者折腾 frp、nps 之类的内网穿透。前者依赖第三方中转、有带宽和商业限制,后者配置门槛不低。
KG-Tunnel 是一个更轻的解法:它用 SSH 反向隧道,把远程桌面从一个没有公网 IP 的 Windows 机器,通过你的公网服务器中转出来。被控端不需要开放任何入站端口,主控端只需要一个 mstsc。
它怎么工作
整条链路只有三个角色:
- 被控端:要被远程的 Windows 电脑,没有公网 IP。它主动连你的跳板机,建立一条反向隧道,把跳板机上的某个端口(比如 13389)映射到自己的远程桌面 3389。
- 跳板机:一台有公网 IP 的 Linux 服务器。两端都主动连它,它只做端口转发,不存储任何数据。
- 主控端:你手上用来远程别人的电脑。它也连跳板机,建立一条正向隧道,把本机端口映射到跳板机上那个中转端口。
最后,你用 Windows 自带的远程桌面(mstsc)连本机 127.0.0.1:13389,就到达被控端的桌面了。
整个链路是 SSH 加密的,跳板机看不到明文内容。
为什么用它
相比其他方案,KG-Tunnel 有几个特点:
不需要在被控端开放任何入站端口。 两端都是主动往外连,被控端只要出网就行。这对内网环境、普通宽带环境特别友好。
不依赖第三方服务。 只需要你自己的一台公网服务器,不需要注册任何账号,不需要付费给第三方。
被控端轻量。 一个约 38 MB 的单文件 exe,双击就能用,不需要安装。
安全边界清晰。 跳板机上保持 GatewayPorts no(默认),反向隧道只绑 127.0.0.1,不会暴露到公网。可以给跳板机建一个专用 SSH 用户,限制权限到只允许端口转发。
自动重连 + 开机自启。 网络抖动断了自动重连,被控端可以配置成开机自动建隧道,实现无人值守。
如果你觉得好,请大家到公众号给个红心支持一下!!


玩趣儿

0 条评论。