当前位置: 首页 > article >正文

【windows10】基于SSH反向隧道公网ip端口实现远程桌面

【windows10】基于SSH反向隧道公网ip端口实现远程桌面

  • 1.背景
  • 2.SSH反向隧道
  • 3.远程连接电脑

1.背景

‌Windows 10远程桌面协议的简称是RDP(Remote Desktop Protocol)‌。
RDP是一种网络协议,允许用户远程访问和操作另一台计算机。
远程桌面功能仅适用于Windows 10专业版和企业版,家庭版无此功能!
目前远程桌面是一款Windows10提供的内置远程工具,未来windows11可能会移除!
远程桌面旨在连接的两台可以ping连接的计算机(同一局域网内,或者通过公网ip端口映射)

博主的操作系统windows10 专业版
如果在同一局域网您是可以ping通对方的windows系统的ip地址,正好对方计算机有远程桌面功能(家庭版没有),并且启用远程桌面。那么您此时通过该IP地址就可以远程对方电脑!
然后您可以通过远程桌面进行文件传输或提供远程技术支持。

特别要注意,需要关注防火墙是否允许远程桌面通过!
在Win10的远程桌面设置中,防火墙的配置是一个关键因素。忽略了防火墙设置,可能导致无法成功建立远程桌面连接。请按照以下步骤进行操作。
步骤1. 在搜索框中输入“允许应用通过Windows防火墙”,然后打开相关设置。
步骤2. 确保“远程桌面”已经被允许通过Windows防火墙。如果没有,请点击右上角的“更改设置”选项,勾选“远程桌面”,然后点击“确定”。
在这里插入图片描述
以上场景相信大家都用的很熟悉!
那么问题来了,两台windows10电脑在各自局域网,都可以上网,如何通过windows10远程工具远程?
这在工作中也是常见的,目前大家比较常见的解决办法是使用第三方远程控制软件:
TeamViewer、AnyDesk、一键远控、rustdesk等。

其实有很多方法,本博主介绍SSH反向隧道实现远程桌面的访问。
SSH反向隧道允许内网设备主动连接到公网服务器,从而绕过防火墙或NAT的限制,建立一条从外网访问内网的通道。
通过ssh的实现如下:
通过SSH的-R参数,可以将内网机器的端口转发到公网服务器的某个端口,这样外部的请求可以通过公网服务器的端口访问到内网服务。例如将内网服务器A的22端口转发到公网服务器B的8888端口,然后通过B的端口访问A。即反向隧道可以实现远程访问。
普通的SSH连接可能会因为超时断开。autossh能够自动重新连接,确保隧道持久。为了更好的效果您可以安装autossh,并指定监控端口来检测连接状态,这有助于维持稳定性。

2.SSH反向隧道

SSH(Secure Shell)可以实现两台不同局域网中的Windows 10电脑进行远程连接!
SSH反向隧道可以实现从公网访问内网设备(如家庭或公司内网的计算机),尤其适用于设备位于防火墙或NAT后的场景。以下是具体实现原理、步骤及注意事项:

2.1 SSH反向隧道的核心原理
SSH反向隧道通过让内网设备主动连接到公网服务器(如云主机),建立一条反向通道,将内网服务的端口映射到公网服务器的指定端口,从而实现外网用户通过公网服务器访问内网服务。其核心命令为 ssh -R,具体流程如下:
第1,内网设备A主动连接公网服务器B,建立反向隧道。
第2,公网服务器B监听指定端口,并将流量转发到内网设备A的本地服务端口(如SSH的22端口、远程桌面的3389端口)。
第3,外网用户通过访问公网服务器B的映射端口,间接访问内网设备A的服务。

2.2 实现远程访问的步骤

第1. 公网服务器B的配置
A. 修改SSH配置:

在B的/etc/ssh/sshd_config中启用GatewayPorts yes
即允许外部访问转发端口如果修改了配置,重启SSH服务:
sudo systemctl restart ssh检查SSH服务状态:
sudo systemctl status ssh
.如果返回类似“active (running)”,说明SSH服务已经运行。
.如果返回“inactive”或“not found”,则需要安装或启用。

B.开放防火墙端口:确保公网服务器的防火墙或安全组开放映射端口(如10010或者53700)。

第2. 内网设备A的操作
在A上执行命令,建立反向隧道:

以转发SSH服务为例:
ssh -fCNR *:远程端口:localhost:本地端口 用户名@公网服务器IP  
# 示例:将A的22端口映射到B的12345端口
ssh -fCNR 12345:localhost:22 root@B_IP
ssh -R 9999:localhost:3389 用户名@203.0.113.10  # cmd终端关闭就停止建立反向隧道参数说明:
-R:反向隧道;
-C:压缩数据,减少传输流量
-f:后台运行;
-N:不执行远程命令以autossh为例,使用autossh保持隧道稳定:
autossh -M 监控端口 -fCNR 远程端口:localhost:本地端口 用户名@B_IP  
# 示例:监控端口5678,映射SSH服务
autossh -M 5678 -fCNR 12345:localhost:22 root@B_IP

第3. 外网用户访问内网服务
通过SSH或浏览器访问公网服务器B的映射端口:
对于linux用户连接到内网设备A的SSH服务:ssh -p 12345 内网用户名@B_IP
对于适用于Web服务,通过浏览器访问如http://B_IP:映射端口
本博客是远程桌面,可以通过远程桌面直接输入B_IP:映射端口 登录内网,然后输入用户名和密码进行远程访问。

3.远程连接电脑

远程电脑启用远程桌面并允许防火墙通过远程桌面后,您便可以进行远程连接操作了。
步骤1. 按下“Win + R”组合键,在弹出的运行窗口中输入“mstsc”命令,以启动远程桌面连接工具。
步骤2. 在弹出的远程桌面连接窗口中,输入目标计算机的 IP 地址,然后点击“连接”按钮。
处于隐私,123.181.16.232:53700为示例ip:port
在这里插入图片描述
步骤3. 输入目标计算机的用户名和密码,即可进行远程控制。

相关文章:

【windows10】基于SSH反向隧道公网ip端口实现远程桌面

【windows10】基于SSH反向隧道公网ip端口实现远程桌面 1.背景2.SSH反向隧道3.远程连接电脑 1.背景 ‌Windows 10远程桌面协议的简称是RDP(Remote Desktop Protocol)‌。 RDP是一种网络协议,允许用户远程访问和操作另一台计算机。 远程桌面功…...

Python----概率论与统计(贝叶斯,朴素贝叶斯 )

一、贝叶斯 1.1、贝叶斯定理 贝叶斯定理(Bayes Theorem)也称贝叶斯公式,是关于随机事件的条件概率的定理 贝叶斯的的作用:根据已知的概率来更新事件的概率。 1.2、定理内容 提示: 贝叶斯定理是“由果溯因”的推断&…...

NO.88十六届蓝桥杯备战|动态规划-多重背包|摆花(C++)

多重背包 多重背包问题有两种解法: 按照背包问题的常规分析⽅式,仿照完全背包,第三维枚举使⽤的个数;利⽤⼆进制可以表⽰⼀定范围内整数的性质,转化成01 背包问题。 ⼩建议:并不是所有的多重背包问题都能…...

vue项目打包里面pubilc里的 tinymce里的js文件问题

以下是解决 Vue 项目打包后 public/tinymce 中 JS 文件路径问题的完整方案: 问题原因 当使用 public 目录存放静态资源时,Vue CLI 默认会将 public 下的文件 直接复制到打包目录的根路径,但以下操作可能导致路径错误: 开发环境使…...

Python星球日记 - 第18天:小游戏开发(猜数字游戏)

🌟引言: 上一篇:Python星球日记 - 第17天:数据可视化 名人说:路漫漫其修远兮,吾将上下而求索。(屈原《离骚》) 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 目录 一、游戏概述与原理1. 游戏基本规则2. 编程知识点3.猜数字游戏流程图二、游戏逻辑设计…...

爬虫抓包工具和PyExeJs模块

我们在处理一些网站的时候, 会遇到一些屏蔽F12, 以及只要按出浏览器的开发者工具就会关闭甚至死机的现象. 在遇到这类网站的时候. 我们可以使用抓包工具把页面上屏蔽开发者工具的代码给干掉. Fiddler和Charles 这两款工具是非常优秀的抓包工具. 他们可以监听到我们计算机上所…...

无人机击落技术难点与要点分析!

一、技术难点 1. 目标探测与识别 小型化和低空飞行:现代无人机体积小、飞行高度低(尤其在城市或复杂地形中),雷达和光学传感器难以有效探测。 隐身技术:部分高端无人机采用吸波材料或低可探测设计,进…...

2025年Java无服务器架构实战:AWS Lambda与Spring Cloud Function深度整合

摘要 📝 本文深入探讨如何在2025年Java生态中实现AWS Lambda与Spring Cloud Function的无缝整合。我们将从基础概念讲起,逐步深入到实际部署、性能优化和最佳实践,通过详实的代码示例展示如何构建高效、可扩展的无服务器Java应用。 目录 &a…...

LeetCode 题目 「二叉树的右视图」 中,如何从「中间存储」到「一步到位」实现代码的优化?

背景简介 在 LeetCode 的经典题目 「二叉树的右视图」 中,我们需要返回从右侧看一棵二叉树时所能看到的节点集合。每一层我们只能看到最右边的那个节点。 最初,我采用了一个常规思路:层序遍历 每层单独保存节点值 最后提取每层最后一个节…...

8.第二阶段x64游戏实战-string类

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 本次游戏没法给 内容参考于:微尘网络安全 上一个内容:7.第二阶段x64游戏实战-分析人物属性 string类是字符串类,在计算机中…...

Go语言sync.Mutex包源码解读

互斥锁sync.Mutex是在并发程序中对共享资源进行访问控制的主要手段,对此Go语言提供了非常简单易用的机制。sync.Mutex为结构体类型,对外暴露Lock()、Unlock()、TryLock()三种方法,分别用于阻塞加锁、解锁、非阻塞加锁操作(加锁失败…...

C++实现文件断点续传:原理剖析与实战指南

文件传输示意图 一、断点续传的核心价值 1.1 大文件传输的痛点分析 网络闪断导致重复传输:平均重试3-5次。 传输进度不可回溯:用户无法查看历史进度。 带宽利用率低下:每次中断需从头开始。 1.2 断点续传技术优势 指标传统传输断点续传…...

MySQL中FIND_IN_SET函数与INSTR函数用法解析

一、功能定义与语法 1、FIND_IN_SET函数 语法:FIND_IN_SET(str, strlist) 功能:在逗号分隔的字符串列表(strlist)中查找精确匹配的子字符串(str),并返回其位置(从1开始&#xff09…...

Python贝叶斯回归、强化学习分析医疗健康数据拟合截断删失数据与参数估计3实例

全文链接:https://tecdat.cn/?p41391 在当今数据驱动的时代,数据科学家面临着处理各种复杂数据和构建有效模型的挑战。本专题合集聚焦于有序分类变量处理、截断与删失数据回归分析以及强化学习模型拟合等多个重要且具有挑战性的数据分析场景&#xff0c…...

Git 协同开发的常用操作

1. 单仓库(多分支开发) 从远程拉取代码 git clone https://gitee.com/...查看当前分支 git branch -- *master创建并切换到你的开发分支(my-dev) git checkout -b my-dev查看当前分支 git branch -- marster -- *my-dev提交代…...

微信小程序 -- 原生封装table

文章目录 table.wxmltable.wxss注意 table.js注意 结果数据结构 最近菜鸟做微信小程序的一个查询功能,需要展示excel里面的数据,但是菜鸟找了一圈,也没发现什么组件库有table,毕竟手机端好像确实不太适合做table! 菜鸟…...

分布式文件存储系统FastDFS

文章目录 1 分布式文件存储1_分布式文件存储的由来2_常见的分布式存储框架 2 FastDFS介绍3 FastDFS安装1_拉取镜像文件2_构建Tracker服务3_构建Storage服务4_测试图片上传 4 客户端操作1_Fastdfs-java-client2_文件上传3_文件下载4_获取文件信息5_问题 5 SpringBoot整合 1 分布…...

ZKmall开源商城服务端验证:Jakarta Validation 详解

ZKmall开源商城基于Spring Boot 3构建,其服务端数据验证采用Jakarta Validation API​(原JSR 380规范),通过声明式注解与自定义扩展机制实现高效、灵活的数据校验体系。以下从技术实现、核心能力、场景优化三个维度展开解析&#…...

深度分页及优化建议

深度分页的定义 深度分页是指在分页查询中,当用户请求非常靠后的页面时,数据库需要处理大量数据,导致查询性能显著下降的情况。例如,一个查询结果有 100 万条记录,而用户要查询第 999 页(每页 10 条记录&a…...

电网电能质量分析:原理、算法及实际应用

一、引言 在现代社会,电力供应的稳定性和可靠性对工业生产、社会生活的各个方面都至关重要。电能质量作为衡量电力系统供电能力的关键指标,其优劣直接影响到电力设备的运行效率、使用寿命以及生产过程的稳定性。随着电力系统规模的不断扩大,新…...

学透Spring Boot — 017. 魔术师—Http消息转换器

本文是我的专栏《学透Spring Boot》的第17篇文章,了解更多请移步我的专栏: 学透 Spring Boot_postnull咖啡的博客-CSDN博客 目录 HTTP请求和响应 需求—新的Media Type 实现—新的Media Type 定义转换器 注册转换器 编写Controller 测试新的medi…...

BOE(京东方)旗下控股子公司“京东方能源”成功挂牌新三板 以科技赋能零碳未来

2025年4月8日,BOE(京东方)旗下控股子公司京东方能源科技股份有限公司(以下简称“京东方能源”)正式通过全国中小企业股份转让系统审核,成功在新三板挂牌(证券简称:能源科技,证券代码:874526),成为BOE(京东方)自物联网转型以来首个独立孵化并成功挂牌的子公司。此次挂牌是BOE(京…...

Airflow集成Lark机器人

🥭1. 实现目标 🕐 通过自定义函数,实现Lark机器人告警功能 🕐 通过Lark机器人代替邮件数据的发送功能 🥭2.自定义函数实现 from airflow import DAG from airflow.operators.python_operator import PythonOperator from airflow.models import Variable import requ…...

Git使用与管理

一.基本操作 1.创建本地仓库 在对应文件目录下进行: git init 输入完上面的代码,所在文件目录下就会多一个名为 .git 的隐藏文件,该文件是Git用来跟踪和管理仓库的。 我们可以使用 tree 命令(注意要先下载tree插件&#xff09…...

计算机网络——传输层(Udp)

udp UDP(User Datagram Protocol,用户数据报协议 )是一种无连接的传输层协议,它在IP协议(互联网协议)之上工作,为应用程序提供了一种发送和接收数据报的基本方式。以下是UDP原理的详细解释&…...

网络安全小知识课堂(五)

病毒与蠕虫:你的电脑为何会 “生病” 和 “传染”? 引言 你是否见过这样的场景:电脑突然弹窗广告暴增,文件莫名消失,甚至整个公司网络集体瘫痪?这些症状背后,可能是 ** 病毒(Virus…...

图解Java设计模式

1、设计模式面试题 2、设计模式的重要性 3、7大设计原则介绍 3.1、单一职责原则...

wsl2+ubuntu22.04安装blender教程(详细教程)

本章教程介绍,如何在Windows操作系统上通过wsl2+ubuntu安装blender并运行教程。Blender 是一款免费、开源的 ​​3D 创作套件​​,广泛应用于建模、动画、渲染、视频编辑、特效制作等领域。它由全球开发者社区共同维护,支持跨平台(Windows、macOS、Linux),功能强大且完全…...

其他合成方式介绍

在 SurfaceFlinger 的 Layer 处理逻辑中,除了常见的 Client Composition(GPU合成) 和 Device Composition(HWC合成),还存在一些特殊的合成方式,比如 Sideband、Solid Color 和 Display Decorati…...

Spring AI Alibaba MCP 市场正式上线!

Spring AI Alibaba 正式上线 MCP 市场:Spring AI Alibaba-阿里云Spring AI Alibaba官网官网。 开发者可以在这里搜索市面上可用的 MCP Server 服务,了解每个服务的实现与接入方法。 MCP 市场是做什么的? Spring AI Alibaba MCP 当前主要提供…...