[玩转系统] 在 Windows 上配置 SSH 隧道(端口转发)
作者:精品下载站 日期:2024-12-14 23:36:57 浏览:17 分类:玩电脑
在 Windows 上配置 SSH 隧道(端口转发)
您可以使用Windows上内置的OpenSSH服务器通过SSH隧道(SSH隧道)转发端口。 SSH 中的端口转发允许您将应用程序端口从本地计算机隧道(转发)到远程服务器,反之亦然。通过 SSH 隧道进行端口转发广泛应用于 Linux/Unix 环境中,现在您也可以在 Windows 中利用此功能。在此示例中,我们将展示如何在 Windows Server 主机上通过 OpenSSH 传输 RDP 连接流量。
什么是 SSH 隧道?
SSH 隧道在本地主机和远程 SSH 服务器之间提供安全、加密的 TCP 连接。 SSH 端口转发允许您通过 SSH 将连接从本地计算机上的本地端口建立到远程服务器上的任何 TCP 端口(反之亦然)。
SSH 隧道中的端口转发用于:
绕过防火墙;
-
为私人网络打开后门;
VPN场景替代安全远程连接;
保护以明文(不加密)传输数据的遗留应用程序(协议)的流量。
您只能将 TCP 流量/端口转发到 SSH 隧道(不支持 UDP 和 ICMP 协议)。
SSH 隧道主要用于需要连接到防火墙后面的远程计算机的情况。例如,您有一台仅打开 SSH 端口 (TCP 22) 的 Windows Server。所有其他端口均被硬件防火墙或 Windows Defender 防火墙阻止。您的任务是使用 RDP 客户端连接到 Windows Server。这似乎是一项不可能完成的任务,因为远程桌面端口 3389 被防火墙阻止了。但是,您可以通过 SSH 隧道访问远程主机上的任何端口。
以下是 SSH 隧道的典型使用场景:
本地TCP转发是本地端口转发到远程服务器;
远程TCP转发是远程端口转发到本地计算机;
双 SSH 隧道 - 允许通过 SSH 服务器连接未分配公共 IP 地址或位于 NAT/防火墙后面的计算机(如果 OpenVPN 服务器解决方案不适用)。
使用 SSH 隧道保护 RDP(本地 TCP 转发)
在此模式下,您在计算机上创建本地 TCP 端口。到此端口的所有连接都将通过 SSH 隧道转发到远程服务器上的指定端口。在此示例中,我们将创建本地端口 8888,其连接将被重定向到远程 Windows 主机上的 RDP 端口 3389。一般连接图如下所示:
我们需要一个 SSH 客户端来进行端口转发。您可以使用第三方客户端(如 Putty),但我将使用 Windows 上内置的 SSH 客户端。在PowerShell控制台中运行以下命令,在Windows 10/11或Windows Server 2022/2019上安装OpenSSH客户端:
Get-WindowsCapability -Online | ? Name -like 'OpenSSH.Client*'
要创建与远程主机 192.168.1.90 的 SSH 隧道,请运行以下命令:
ssh -L 8888:192.168.1.90:3389 [email protected]
本示例中使用以下连接字符串:
LOCAL_PORT:DESTINATION_IP:DESTINATION_PORT
和
USER@DESTINATION_IP
(远程SSH服务器的用户名和地址)
要使 SSH 隧道在后台运行,请添加 -f 参数。
为了通过 SSH 隧道连接到远程桌面,您需要使用 RDP 客户端 (mstsc.exe) 连接到计算机的本地端口 8888:
127.0.0.1:8888
登录到远程计算机并在 RDP 会话中安全地工作。您可以使用 Get-NetTCPConnection cmdlet 或 TCPView 工具来确保已在本地建立 RDP 连接(RDP 连接是由本地运行的 SSH 服务器发起的):
Get-NetTCPConnection -State Established|where {$_.localport -eq "3389"}|fl
您可以检查服务器上的 TCP/3389 端口是否无法从您的计算机直接访问。您可以使用 Test-NetConnection cmdlet 检查端口的可用性:
Test-NetConnection 192.168.1.90 -port 3389
TcpTestSucceeded : False
即使不允许直接连接(通过 SSH 和通过 RDP),本地网络的其他计算机也可以使用此隧道同时连接到 RDP 服务器。为此,他们必须使用 RDP 客户端连接到您计算机上的端口 8888(已创建 SSH 隧道):
mstsc.exe /v 10.10.1.220:8888
使用 SSH 隧道保护 RDP 连接可能是访问公共 Windows 主机的良好 VPN 替代方案。这种情况下,不需要直接在Windows主机上打开RDP/3389端口。仅打开 SSH/22 端口就足够了,这将保护您免受 RDP 暴力攻击和 0-day RDP 漏洞的利用。
您可以使用sshpass工具为SSH登录提供密码自动化。您可以通过 Windows 的 WSL2 子系统运行此工具。
在 Ubuntu WSL 中安装 sshpass:
$ sudo apt-get -y install ssphass
运行远程桌面连接客户端 (mstsc.exe) 并将连接设置保存到 localhost-3389.rdp 文件:
Computer: localhost:8888
User name: remoteusername
要使用保存的 SSH 密码自动连接到远程 RDP 主机,请使用以下 bat 文件:
start /min wsl sshpass -p "password" ssh -L 8888:192.168.31.90:3389 [email protected]
powershell sleep 5
start mstsc C:\script\localhost-3389.rdp
或者(最好)设置 SSH 密钥身份验证。
如何使用 Putty 在 Windows 上创建 SSH 隧道?
让我们看看如何使用流行的 SSH 客户端 Putty 在 Windows 上创建 SSH 隧道。
运行 PuTTY 并导航至 Connection -> SSH -> Tunnels;
在源端口中指定本地端口号(在我们的示例中为8888);
指定 SSH 服务器的 IP 地址和远程主机上的端口以转发连接:
192.168.31.90:3389
选择本地目的地并点击添加;
为了避免在通过隧道连接时打开远程主机 shell,请在 SSH 部分中启用根本不启动 shell 或命令选项;
返回“会话”选项卡,指定远程 SSH 主机的名称或 IP 地址以及连接端口号(默认为 22)。在“保存的会话”字段中指定会话名称,然后单击“保存”;
现在,您可以直接从 Windows 10 任务栏启动 Putty 中保存的 SSH 隧道。
远程 TCP 转发(反向 SSH)到本地计算机
还有另一个 SSH 隧道用例 - 远程 TCP 转发。您可以允许远程服务器通过 SSH 隧道访问您计算机上的本地端口或本地网络上另一台计算机上的端口。例如,您希望外部服务器 (192.168.1.90) 访问您的 Intranet 站点(未发布在 Internet 上)。要创建反向隧道,请使用以下命令:
ssh -R 8080:internalwww:80 [email protected]
现在,为了从远程 SSH 服务器访问内部网站,只需输入地址
http://localhost:8080
在浏览器中。
在所有 Windows 版本上,您可以使用以下命令创建端口转发规则
netsh interface portproxy
命令。
使用 SSH 隧道,您可以创建端口转发链。您可以使用以下指令在 OpenSSH 配置文件 (sshd_config) 中启用或禁用 SSH 隧道:
AllowStreamLocalForwarding yes
AllowTcpForwarding remote
PermitTunnel no
这些配置指令在当前版本的 Windows 版 OpenSSH 中不可用。
猜你还喜欢
- 03-30 [玩转系统] 如何用批处理实现关机,注销,重启和锁定计算机
- 02-14 [系统故障] Win10下报错:该文件没有与之关联的应用来执行该操作
- 01-07 [系统问题] Win10--解决锁屏后会断网的问题
- 01-02 [系统技巧] Windows系统如何关闭防火墙保姆式教程,超详细
- 12-15 [玩转系统] 如何在 Windows 10 和 11 上允许多个 RDP 会话
- 12-15 [玩转系统] 查找 Exchange/Microsoft 365 中不活动(未使用)的通讯组列表
- 12-15 [玩转系统] 如何在 Windows 上安装远程服务器管理工具 (RSAT)
- 12-15 [玩转系统] 如何在 Windows 上重置组策略设置
- 12-15 [玩转系统] 如何获取计算机上的本地管理员列表?
- 12-15 [玩转系统] 在 Visual Studio Code 中连接到 MS SQL Server 数据库
- 12-15 [玩转系统] 如何降级 Windows Server 版本或许可证
- 12-15 [玩转系统] 如何允许非管理员用户在 Windows 中启动/停止服务
取消回复欢迎 你 发表评论:
- 精品推荐!
-
- 最新文章
- 热门文章
- 热评文章
[软件合集] 25年5月31日 精选软件66个
[电影] 黄沙漫天(2025) 4K.EDRMAX.杜比全景声 / 4K杜比视界/杜比全景声
[风口福利] 短视频红利新风口!炬焰创作者平台重磅激励来袭
[韩剧] 宝物岛/宝藏岛/金银岛(2025)【全16集】【朴炯植/悬疑】
[电影] 愤怒的牦牛 (2025) 国语中字 4k
[短剧合集] 2025年05月30日 精选+付费短剧推荐56部
[软件合集] 25年5月30日 精选软件26个
[软件合集] 25年5月29日 精选软件18个
[短剧合集] 2025年05月28日 精选+付费短剧推荐38部
[软件合集] 25年5月28日 精选软件37个
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电视剧] 欢乐颂.5部全 (2016-2024)
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[影视] 【稀有资源】香港老片 艺坛照妖镜之96应召名册 (1996)
[剧集] 神经风云(2023)(完结).4K
[剧集] [BT] [TVB] [黑夜彩虹(2003)] [全21集] [粤语中字] [TV-RMVB]
[资源] B站充电视频合集,包含多位重量级up主,全是大佬真金白银买来的~【99GB】
[影视] 内地绝版高清录像带 [mpg]
[书籍] 古今奇书禁书三教九流资料大合集 猎奇必备珍藏资源PDF版 1.14G
[美图] 2W美女个美女小姐姐,饱眼福
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电影] 美国队长4 4K原盘REMUX 杜比视界 内封简繁英双语字幕 49G
[电影] 死神来了(1-6)大合集!
[软件合集] 25年05月13日 精选软件16个
[精品软件] 25年05月15日 精选软件18个
[绝版资源] 南与北 第1-2季 合集 North and South (1985) /美国/豆瓣: 8.8[1080P][中文字幕]
[软件] 25年05月14日 精选软件57个
[短剧] 2025年05月14日 精选+付费短剧推荐39部
[短剧] 2025年05月15日 精选+付费短剧推荐36部
- 最新评论
-
- 热门tag