Loading

配置局域网下其他机器通过SSH连接到本机的WSL

本机要打火影,所以不能开WSL,但是又想用本机写代码,所以想着在局域网下的另一台机器上开了一个WSL2,通过本机去SSH到另一台机器上写代码。以下方案适用于WSL2。

重装ssh

首先要在那台运行着WSL的机器上重装一下ssh服务:

sudo apt remove openssh-server
sudo apt install openssh-server

接着我们需要修改配置文件,让SSH服务映射到某一个端口上,这里不能选22,因为会与Windows冲突。

vim /etc/ssh/sshd_config

需要添加这几项:

# 这里的8888是我想要映射的端口,你也可以选择任意其他的空闲端口
Port 8888 
PasswordAuthentication yes
ListenAddress 0.0.0.0

此时,可以尝试在WSL的这台机器上,用Windows终端SSH连接WSL,能否成功。

# username即为你的WSL系统的用户名
ssh username@localhost -p 8888

只要成功,第一步就完成了。

配置防火墙

因为WSL的地址每次重启都会变,但是无论怎么变,在那台机器上总是可以通过localhost去访问WSL。
所以我们转变思路,直接连那台机器上的某一端口,然后在那一端口上做转发,转发到localhost上,就可以不用管WSL地址,总能连上去。

所以我们这里配置一下防火墙。
image
入站规则->新建规则->端口->TCP,特定本地端口:8888->允许连接->域、专用、公用->名称描述任意->完成

配置完成后,在WSL那台机器上的cmd,键入以下命令做转发:

netsh interface portproxy add v4tov4 listenport=8888 listenaddress=0.0.0.0 connectport=8888 connectaddress=localhost

输入一下命令查看规则建立了没有:

netsh interface portproxy show all

到此就大功告成了,可以在别的机器上用以下命令去连接WSL

ssh username@那台机器的IP地址 -p 8888
posted @ 2023-11-04 18:27  烤肉kr  阅读(258)  评论(0编辑  收藏  举报