WSL2--Config

1.Install

省略...

2.Config

官方参考链接:https://learn.microsoft.com/zh-cn/windows/wsl/wsl-config

2.1 启用 systemd

若要启用 systemd需版本 0.67.6+ 的 WSL 才能启用系统化wsl --version检查 WSL 版本,请使用sudo管理员权限在文本编辑器中打开文件wsl.conf,并将以下行添加到/etc/wsl.conf(这个文件原本是没有,就是创建新的):

[boot]
systemd=true

[network]
generateResolvConf = false

[user]
# 启动的默认用户,设为root吧,不然以后命令都要加sudo有点麻烦
default = root

然后,需要使用 PowerShell 关闭 WSL 分发 wsl.exe --shutdown 版来重启 WSL 实例。 分发重启后,系统应运行。 可以使用以下命令进行确认: systemctl list-unit-files --type=service这将显示服务的状态。

2.2 WSL2 设置桥接模式(或固定IP)

2.2.1 前提条件

①至少 Windows 11 22H2

②安装hyper-v

2.2.2 hyper-v 新建交换机

创建完可能会没网,自己在网络设置里把inet4 勾上保存就ok了。

2.2.3 查看现有交换机

管理员身份打开powershell,执行命令get-VMSwitch查看交换机

2.2.2创建完就会出现下面的结果。

PS C:\Windows\system32> get-VMSwitch

Name           SwitchType NetAdapterInterfaceDescription
----           ---------- ------------------------------
WSL            External   Realtek Gaming GbE Family Controller
Default Switch Internal

2.2.4 wsl2启动配置

参考链接:https://zhuanlan.zhihu.com/p/593263088

在用户目录 %USERPROFILE% 下面创建一个配置文件 .wslconfig,按照如下配置方法设置网络:

[wsl2]
networkingMode=bridged # 桥接模式
vmSwitch=WSL # 这个地方填的就是2.2.3查看的Name,也就是2.2.2创建的hyper-v交换机。
ipv6=true # 启用 IPv6

2.2.5 重启wsl

最后重启wsl,桥接模式就配置好了,可以重启电脑,看IP还变不变。

wsl --shutdown     #关闭
ws                 #启动

2.3 重置root密码

1、以管理员身份打开 PowerShell ;
2、输入命令 wsl.exe --user root ;
3、命令 passwd root 修改 root 用户密码。

4.常见报错

4.1 Redirecting to /bin/systemctl start sshd.service

Redirecting to /bin/systemctl start sshd.service

System has not been booted with systemd as init system (PID 1). Can't operate.

Failed to connect to bus: Host is down

解决办法:

①上面的2.1 启用 systemd(推荐)

②手动启用

参考链接:https://blog.csdn.net/weixin_37887116/article/details/114332019

mkdir -p /var/run/sshd
/usr/sbin/sshd -D &


若报错:
Unable to load host key: /etc/ssh/ssh_host_rsa_key
Unable to load host key: /etc/ssh/ssh_host_ecdsa_key
Unable to load host key: /etc/ssh/ssh_host_ed25519_key
sshd: no hostkeys available -- exiting.

则输入:
ssh-keygen -q -t rsa -b 2048 -f /etc/ssh/ssh_host_rsa_key -N ''  
ssh-keygen -q -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -N ''
ssh-keygen -t dsa -f /etc/ssh/ssh_host_ed25519_key -N ''
/usr/sbin/sshd -D & # 此时应该不会报错

最后查看ssh状态:
netstat -apn | grep ssh  

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值