我之前写过一篇博客是关于内网远程控制Linux主机的, 远程控制家里电脑的N种方案_gzroy的博客-CSDN博客_远程控制家里的电脑
最近因为工作需要,要远程控制windows主机,基本的步骤和之前博客提到的都差不多,主要区别在于windows是没有类似autossh这个工具来建立一个稳定的反向代理。为此我采用的方法是在windows的wsl linux系统里面安装autossh。
然后在windows里面,按Windows logo + R, 输入shell:startup,打开启动文件夹,然后在里面新增一个init_wsl.vbs的文件,文件内容如下:
Set ws = CreateObject("Wscript.Shell")
ws.run "wsl -d Ubuntu-18.04 -u roy autossh -M 0 -o ""ServerAliveInterval 60"" -o ""ServerAliveCountMax 2"" -o TCPKeepAlive=yes -NR 9998:localhost:5900 user@123.123.123.123", vbhide
这里面Ubuntu-18.04代表WSL的linux系统的名称, 9998代表远程外网主机的端口,5900表示本地主机的VNC端口。
在Windows里面安装TightVNC server。
登陆到远程外网主机,运行以下命令,配置正向端口转发
ssh -fCNL *:9999:localhost:9998 localhost
之后我们其他设备要远程控制这个windows主机,只需要连接这个外网主机的地址加上5900端口即可。