Windows 10 1809 及之后版本内置了 OpenSSH 客户端,可以直接在 PowerShell 中使用 ssh -L 命令完成本地端口转发,适合需要安全访问远程内网服务的场景。
先说结论:无需安装第三方软件,系统自带功能即可满足大多数本地端口映射需求,但需保持终端窗口常驻。
- 适合:安全访问远程数据库、内部 Web 服务或调试远程应用。
- 先准备:确认 Windows 已启用 OpenSSH 客户端功能,且拥有远程主机 SSH 登录权限。
- 验收:本地端口监听正常,且通过 localhost 能访问到远程服务。
命令速用版
ssh -L [本地端口]:[目标主机]:[目标端口] [用户名]@[SSH 服务器 IP]
例如,将远程服务器 192.168.1.50 的 80 端口映射到本地的 8080 端口:
ssh -L 8080:localhost:80 user@192.168.1.50
为什么会这样
本地端口转发(Local Port Forwarding)的本质是在你的电脑和远程 SSH 服务器之间建立一条加密隧道。当你访问本地的指定端口时,流量会通过 SSH 隧道被转发到远程服务器,再由远程服务器访问最终的目标服务。这种方式既能绕过网络隔离,又能保证传输过程加密,适合管理内网资源。
分步处理
1. 确认 OpenSSH 客户端已安装
在 PowerShell 中输入以下命令检查:
Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH*'
如果状态不是 Installed,请以管理员身份启动 PowerShell 并运行以下命令安装:
操作方法:右键点击开始菜单按钮,选择"Windows PowerShell (管理员)"或“终端 (管理员)