本机要打火影,所以不能开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地址,总能连上去。
所以我们这里配置一下防火墙。
入站规则->新建规则->端口->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
标签:机器,端口,WSL,SSH,8888,本机,ssh
From: https://www.cnblogs.com/st0rmKR/p/17809649.html