SSH 隧道的使用教程
SSH Tunnel 是什么?
SSH Tunnel(SSH 隧道,也称为 SSH 端口转发)是一种利用 SSH 协议创建的安全加密通道,将网络流量通过 SSH 连接“隧道”传输的技术。它可以将任意 TCP 流量(甚至部分 UDP)封装在加密的 SSH 连接中,从而实现:
- 安全传输:加密不安全的协议(如 HTTP、VNC、RDP),防止数据被窃听。
- 绕过防火墙/限制:访问被防火墙阻塞的服务,或从外部访问内网资源。
- 端口转发:将本地或远程的端口映射到目标主机。
简单来说,就像在不安全的网络上挖一条“加密隧道”,让数据安全通过。常用于远程访问内网服务、代理上网、调试等。
SSH Tunnel 有三种主要类型:本地转发(Local)、远程转发(Remote) 和 动态转发(Dynamic)。

1. 本地端口转发(Local Port Forwarding,-L)


2. 远程端口转发(Remote Port Forwarding,-R)


3. 动态端口转发(Dynamic Port Forwarding,-D)
常见选项
-f:后台运行。
-N:不执行远程命令,只转发。
-C:启用压缩。
-p:指定 SSH 端口(默认 22)。
注意事项
- 需要 SSH 服务器支持(OpenSSH 默认支持)。
- 与 iptables 端口转发不同,SSH Tunnel 更灵活、安全,且不需要 root 权限(转发端口除外)。
- 测试时用
netstat 或 ss 查看端口监听。
推荐文章:https://iximiuz.com/en/posts/ssh-tunnels/