内网穿透反向映射windows远程桌面

市面上 frp  向日葵  等等穿透软件很多这里用ssh自带的反向隧道穿透

原理是利用 ssh -R 的反向端口映射功能将远程地址的3389端口映射出去

环境说明

A主机:拥有公网IP的服务器,一般是Linux系统作为跳板转发服务器我这里用CentOS7(window请自行安装cygwin)

B主机:可以访问外网windows,但是没有公网IP需要将3389端口穿透映射出去的服务器

注意两台服务器的防火墙一定要允许相关端口!!!

注意两台服务器的防火墙一定要允许相关端口!!

注意两台服务器的防火墙一定要允许相关端口!


A 主机 配置 服务器端sshd只能监听127.0.0.1,需要修改/etc/ssh/sshd_config  

AllowTcpForwarding yes    这条一般都是默认yes 确认一下

GatewayPorts  yes

修改完成后保存重启sshd服务

systemctl restart sshd

内网穿透反向映射windows远程桌面_第1张图片

B主机下载安装cygwin(windows 系统里面安装bash 环境)

http://www.cygwin.com/

内网穿透反向映射windows远程桌面_第2张图片
官网下载

安装简单下一步下一步就行

但是的时候有时候会出现没有源的情况手动添加源 ,可以换自己合适的源搜索引擎上很多这里用网易163的源。

选择从互联网安装, 在"User URL"处输入以下地址

http://mirrors.163.com/cygwin/

点击"Add"按钮, 然后选中"http://mirrors.163.com", 点击"下一步"进行安装。

安装路径如果不是默认的C盘,请在环境变量中添加相关路径。

我这里以安装在D盘为例


内网穿透反向映射windows远程桌面_第3张图片
配置环境变量

安装好后打开cygwin64,一般桌面有图标,没有的话 cmd 输入cygwin


内网穿透反向映射windows远程桌面_第4张图片

ssh命令简单说明    

-o 是免输入yes

-i  是指定密钥路径

-R 是反向隧道映射

-f 是后台运行

-N 仅转发端口

注意命令比较长空格别漏了(另外点一下还可以设置互信SSH免密码登录)

ssh -o ServerAliveInterval=180 -i /cygdrive/c/id_rsa root@IP -p 22 -R 33389:localhost:3389 -fN

意思是服务保活180秒,将内网B主机  loclhost 3389 反向映射到公网 IP  33389上,之后远程连接即可


内网穿透反向映射windows远程桌面_第5张图片

你可能感兴趣的:(内网穿透反向映射windows远程桌面)