Win10使用SSH反向隧道(端口转发)连接远程桌面

应用场景:

如果你有Linux云主机(腾讯、华为等),且公司有一台只有内网IP (或动态IP) 的Win10工作机;你计划在家里工作时,通过家里的电脑连接公司的工作机 (且不想使用类似Teamviewer这样的远程控制软件)的话,本文适合你。

总体目标:

Win10下使用SSH反向隧道(端口转发)连接远程桌面,并作为服务自启动(不用安装Cygwin)

总体说明:

(1)内网计算机A(Win10)中, 需要如下软件的文件:Cygwin64和openssh,autossh组件

(2)外网计算机B(Linux)若为云主机(例如华为云),需要打开相应端口(例如33389等)

实现方法:

1. 公网主机B(Linux)的配置

vim /etc/ssh/sshd_config

添加

GatewayPorts yes

这句话的意思是监听端口可以绑定到任意其他IP,不然只有本机127.0.0.1可以访问

重启一下ssdh服务

sudo service sshd restart

特别提醒:

如果是一些供应商的云主机,记得要去安全策略组那里开放33389端口,不然怎么样都是访问不了的.

2. 内网计算机A(Win10)中下载安装Cygwin

Cygwin下载地址: http://www.cygwin.com/

默认的Cygwin没有安装ssh,所以重新运行http://www.cygwin.com/setup.exe,

在Select Packages的时候,在search输入ssh,选择 openssh和autossh

openssh:The OpenSSH server and client programs

autossh

3. 内网计算机A(Win10)的配置(文件id_rsa的获取)

内网计算机A(Win10)中打开cygwin控制台并输入(按提示输入外网计算机B的root账号的密码)

cd ~

mkdir -p .ssh

chmod 700 .ssh

cd .ssh

ssh-keygen

ssh-copy-id root@121.36.163.25

配置说明:

注意换成你自己的IP, 执行后会提示输入主机B的密码(要注意这里),

执行完毕之后,我们登录到B,就发现 ~/.ssh/authorized_keys 里面就多了A的SSH公钥了,成功建立SSH认证.

这个步骤主要是完成了从机子A到B的ssh的免密登录,具体可以看~/.ssh/下面的一些密钥更改情况

用root登陆121.36.163.25主机,

这下应该可以免密码 ssh 得进去

ssh root@121.36.163.25

ls ~/.ssh/

会有文件

authorized_keys

4. 内网计算机A(Win10)的配置(建立反向隧道)

(1) run.bat

------------------------------------------

@echo off

::setting

set HOST="121.36.163.25"

set KEY_FILE="id_rsa"

set MONITOR_PORT=33389

set LOCAL_PORT=3389

set AUTOSSH_PATH=./ssh.exe

ssh.exe -o ServerAliveInterval=180 -i %KEY_FILE% root@%HOST% -p 22 -R %MONITOR_PORT%:localhost:%LOCAL_PORT% -fN

------------------------------------------

(2) 使用nssm.exe将run.bat加为Windows服务。具体过程为:

nssm.exe下载: https://nssm.cc/download

管理员运行CMD,定位到nssm.exe目录,输入

nssm install autossh

后弹出对话框,

选择run.bat,并输入服务名称 autossh

即可建立windows服务.

(CMD/services.msc查看并启动autossh服务)

#

若删除服务可用 (以管理员运行CMD):

sc delete autossh

5. 其他可联网Windows机器上"远程桌面连接"

121.36.163.25:33389

peakgrin:33389

6. 其他

远程重启Win10(以管理员运行CMD):

shutdown -r -t 0

原文链接:https://mp.weixin.qq.com/s/NCWkpsNUqEi5pir9gFAZXw

posted @   peakgrin  阅读(1638)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
点击右上角即可分享
微信分享提示