Windows+WSL2+SSH实现远程办公
Windows11+WSL+SSH实现远程办公
Windows11+WSL2+SSH实现远程办公
在这里分享一下我如何实现用MacBook连接主机服务器远程办公,我目前有一台主机在寝室,但是在教室或者图书馆我手边是一台MacBook便不能跑一些算力较大的项目,这时我只需要远程打开我的主机服务器,然后用MacBook的终端或者vs code等连接到我的主机服务器遍可以进行一些大算力需求的项目开发了。
我这里用到的硬件以及软件说明:
- Windows主机+路由器+公网IP
- Windows11(提醒一点这里对Windows系统的版本是有要求的,至少要求是Windows 10 build 18917)
- 远程终端设备
主机配置
远程启动PC
这里我实现的远程启动主机的办法是:
- 通过智能插座来控制主机的电源通断电,注意这里的智能电源需要连接WiFi以方便可以在手机里控制通断电。
- 在主板的BIOS里设置通电自动启动,这里可根据不同主板然后去搜索通电自动开机的方法,由于不同品牌的方法不同这里不再赘述,如有问题可以私我。
- 在Windows的启动菜单里将终端软件设置为自动启动。
设置DMZ主机
我的宽带是带有公网IP的,我这里是通过网线-路由器-网线-主机连线,然后在Windows上打开powershell(或者cmd)并输入:
ipconfig
在下面找到你的Windows主机的子网地址如下图:
然后打开路由器,在里面找到DMZ主机的功能,将其ip改为你的主机ip。这里可以理解为在远程访问公网ip的指定端口可以直接访问到主机的ip指定端口。
下载WSL
提醒一点这里对Windows系统的版本是有要求的,至少要求是Windows 10 build 18917,可以win+R输入winver
来查看你的Windows版本是否支持。
这里我推荐这篇WSL安装教程,如果有什么问题欢迎留言。
我这里安装的是WSL2+Ubuntu20.04
设置WSL为终端默认Shell和SSH自动启动
上面已经设置好了在Windows上的终端开机自动启动,现在在终端的设置里将Ubuntu20.04设置为默认Shell:
然后打开Ubuntu之后,输入:
vim ~/.zshrc
或者如果你是bash
的话输入:
vim ~/.bashrc
打开后会出现如下编辑器界面:
按”Shift“和g
跳转到最后一行,然后按o
进入编辑模式,然后输入以下指令:
#启动时自动启动ssh服务
sudo service ssh start
然后按“Esc”键,输入":"+“w”+“q”,保存并退出,然后继续在zsh里输入:
source ~/.zshrc
到这里SSH的自动启动就结束了。
设置Windows和Ubuntu中SSH的端口转发
由于我只想开放Ubuntu的SSH的端口,从安全角度考虑不用默认的22端口,我就将Ubuntu的SSH设置为2222。
首先修改SSH的默认端口,在WSL中输入:
vim /etc/ssh/sshd_config
然后将其中的Port
这一行的22端口修改为自己喜欢的端口,我这里使用的是2222:
接下来WSL中输入:
ifconfig
可以看到如下:
找到eth0
里的inet
,这个172.26.37.34就是我的WSL的本地地址,我们现在就是要将端口转发到主机PC上面去。
接下来在Windows里使用管理员身份打开powershell,并在里面输入以下代码,将其中的connectaddress
改为自己WSL的本地地址即可:
netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=2222 connectaddress=172.26.37.34 connectport=2222
接下来要在防火墙里开放该端口,继续使用管理员身份打开powershell并输入:
netsh advfirewall firewall add rule name=WSL2 dir=in action=allow protocol=TCP localport=2222
请注意:若重新关闭防火墙再开启防火墙应重新开放端口并重启路由器(原因未知,如有知道的朋友欢迎私信我,感谢)
到这里,主机上的配置已经基本结束了,接下来就是如何使用移动终端设备连接主机服务器了。
笔记本电脑连接服务器
在笔记本上打开一个代码编辑器或者终端,这里是Visual Studio Code,在左边栏里找到远程(Remote Explorer),然后在SSH里选择“+”,然后在这里按照格式输入你的用户名、IP地址和端口号:
ssh <USER_NAME>@<IP> -p <PORT>
及
输入完成后按“Enter”,输入你的密码,然后就可以享受远程开发的便捷了!
更多推荐
所有评论(0)