1. 背景

家里有台DeskMini一直闲置,为了让其发挥作用,决定将其作为一台家庭服务器使用。原本安装的是Windows11,但是如果作为服务器使用,Linux还是更加顺手一些。于是就决定动动小手搞一搞。

前提条件:

  • Windows PC一台
  • 可以做端口转发的路由器一台
  • 公网IP一个(没有的话要搞一下内网穿透,详情百度)

2. 操作步骤

2.1 安装配置WSL

2.1.1 安装

Mircosoft Store搜索Ubuntu(这里我选择的是Ubuntu,你也可以自己选择其他的Linux发行版),点击安装等待安装完成即可。若出现问题,可以前往 https://learn.microsoft.com/zh-cn/windows/wsl/install 查询相关资料,也可以手动安装,自由选择。

2.1.2 配置

打开CMD或PowerShell,设置WSL默认用户后进入WSL。

1
2
3
4
# 设置默认用户为root 
ubuntu config --default-user root
# 进入WSL
ubuntu

配置root密码

1
2
# 配置root用户密码
passwd root

安装OpenSSH

1
2
apt update
apt install openssh

配置OpenSSH

1
vim /etc/ssh/sshd_config
1
2
3
4
5
6
7
# 配置地址和监听端口,0.0.0.0代表所有的地址
Port 22
ListenAddress 0.0.0.0
# 允许root用户登录
PermitRootLogin yes
# 允许密码认证
PasswordAuthentication yes

启用SSH服务器

1
service ssh start

2.2 宿主机设置端口转发与防火墙规则

查询WSL的ip地址

PS: 若ifconfig无此命令,则需要安装net-tools软件包。

配置宿主机

1
2
3
4
# 端口转发
netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=$listenport connectaddress=$wslIp connectport=$connectport
# 设置防火墙规则
netsh advfirewall firewall add rule name=$ruleName dir=in action=allow protocol=TCP localport=$port

2.3 配置路由器端口转发

此处省略,有需要请自行百度。

3 测试

找一台外网的机器,连接测试一下。

1
ssh root@ip -p22

看到如下内容就代表成功了。接下来就可以做你想做的事了。