当前位置: 首页 > news >正文

详细介绍:win11 安装 WSL2 Ubuntu 并支持远程 SSH 登录

目录

环境信息

  • Win11
  • WSL2
  • Ubuntu 22.04 LTS

WSL

WSL 是一个与 Microsoft Windows 操作系统紧密集成的容器化环境,使得用户可以以非常轻量级的方式在 Windows 操作系统上运行 Linux 操作系统,而不再需要双系统或 VMware/Hyper-V 虚拟机。

启用 Win11 WSL 和虚拟机平台功能

  1. 管理员身份打开 PowerShell。
  2. (按需,Win11 默认已安装)安装 WSL:https://learn.microsoft.com/en-us/windows/wsl/install
  3. 启用 WSL 功能。
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
  1. 启用虚拟机平台功能。
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
  1. 重启电脑。

在 Win11 上使用 WSL安装 Ubuntu

  1. 打开 Microsoft Store 搜索 Ubuntu。
    在这里插入图片描述

  2. 选择最新的 Ubuntu LTS 版本点击安装。

  3. 安装完成后,从开始菜单启动 Ubuntu。可能的,会自动提示并需要下载和更新 WSL版本。然后会自动进行完成 Ubuntu 初始化设置,输出 Username 和 Password。

  4. 从开始菜单启动 WSLsetting,打开设置页面可以修改虚拟机的 CPU、内存、网络、磁盘等配置。
    在这里插入图片描述

  5. 管理员身份打开 PowerShell。

  6. Ubuntu 启动后,查看 WSL运行实例信息。

PS C:\WINDOWS\system32> wsl -l -v
NAME STATE VERSION
* Ubuntu-22.04 Running 2

修改 WSL 的网络模式支持局域网访问

默认情况下,WSL 的网络模式是 NAT。此时 Ubuntu 操作系统 IP 地址默认为 172 段。通过 WLS NAT 网络模式访问互联网。

$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet 10.255.255.254/32 brd 10.255.255.254 scope global lovalid_lft forever preferred_lft foreverinet6 ::1/128 scope hostvalid_lft forever preferred_lft forever2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000link/ether 00:15:5d:70:5d:e8 brd ff:ff:ff:ff:ff:ffinet 172.30.36.188/20 brd 172.30.47.255 scope global eth0valid_lft forever preferred_lft foreverinet6 fe80::215:5dff:fe70:5de8/64 scope linkvalid_lft forever preferred_lft forever

但在局域网 SSH 的场景中,WSL 提供了更方便的 Mirrored 模式。
在这里插入图片描述

此时 Ubuntu 的 IP 地址和 Host IP 一样。既支持访问公网,也只是局域网访问。

$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet 10.255.255.254/32 brd 10.255.255.254 scope global lovalid_lft forever preferred_lft foreverinet6 ::1/128 scope hostvalid_lft forever preferred_lft forever2: eth0: <BROADCAST,MULTICAST> mtu 1500 qdisc mq state DOWN group default qlen 1000link/ether 74:5d:22:c7:ab:04 brd ff:ff:ff:ff:ff:ff3: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc mq state DOWN group default qlen 1000link/ether 00:50:56:c0:00:01 brd ff:ff:ff:ff:ff:ff4: eth2: <BROADCAST,MULTICAST> mtu 1500 qdisc mq state DOWN group default qlen 1000link/ether 00:50:56:c0:00:08 brd ff:ff:ff:ff:ff:ff5: loopback0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000link/ether 00:15:5d:2f:cc:52 brd ff:ff:ff:ff:ff:ff6: eth3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000link/ether 14:ac:60:b4:cb:73 brd ff:ff:ff:ff:ff:ffinet 192.168.1.7/24 brd 192.168.1.255 scope global noprefixroute eth3valid_lft forever preferred_lft foreverinet6 2408:8207:1862:7f50:7fcc:d06d:e1e8:45e1/64 scope global nodad deprecated noprefixroutevalid_lft forever preferred_lft 0secinet6 2408:8207:1862:7f50:c53e:b25c:8176:ffd0/128 scope global nodad noprefixroutevalid_lft forever preferred_lft foreverinet6 fe80::7af4:f1eb:99e9:a7f/64 scope link nodad noprefixroutevalid_lft forever preferred_lft forever

配置 Ubuntu SSH

  1. 卸载初始 ssh
sudo apt remove openssh-server
  1. 更新操作系统
sudo apt update
  1. 重装 ssh
sudo apt install openssh-server
  1. 修改 ssh 配置
sudo vim /etc/ssh/sshd_config
...
# ssh 服务监听端口
Port 2223
# ssh 服务允许远程 root 用户登入
PermitRootLogin yes
# ssh 服务允许使用用户名密码方式登入
PasswordAuthentication yes
  1. 重启 ssh
sudo service ssh restart
  1. 查看 ssh 状态
sudo service ssh status
  1. 常驻 ssh
sudo systemctl ssh enable

配置 Win11 防火墙放行 ssh 流量

  1. 管理员身份打开 PowerShell。
  2. (NAT 模式网络下需要配置,Mirrored 模式不需要配置)添加端口代理,配置 Port DNAT,使得 Remote 可以 ssh 到 localhost:port。
PS C:\WINDOWS\system32> netsh interface portproxy add v4tov4 listenport=2223 listenaddress=0.0.0.0 connectport=2223 connectaddress=<WSL2_IP_Address># ubuntu ipPS C:\WINDOWS\system32> netsh interface portproxy show v4tov4Listen on ipv4: Connect to ipv4:Address Port Address Port--------------- ---------- --------------- ----------0.0.0.0 2223 localhost 2223# netsh interface portproxy delete v4tov4 listenport=2223 listenaddress=0.0.0.0
  1. 设置防火墙入向规则
PS C:\WINDOWS\system32> netsh advfirewall firewall add rule name=WSL2 dir=in action=allow protocol=TCP localport=2223
PS C:\WINDOWS\system32> netsh advfirewall firewall show rule WSL2
Rule Name: WSL2
----------------------------------------------------------------------
Enabled: Yes
Direction: In
Profiles: Domain,Private,Public
Grouping:
LocalIP: Any
RemoteIP: Any
Protocol: TCP
LocalPort: 2223
RemotePort: Any
Edge traversal: No
Action: Allow
Ok.
# netsh advfirewall firewall delete rule WSL2
  1. 测试流量
remote $ ssh username@win11_ip -p 2223
http://www.hskmm.com/?act=detail&tid=27564

相关文章:

  • Ai元人文:论智能的“全息定帧”与“渐进式显影”机制
  • 24 LCA模拟赛2T4 colorful 题解
  • 23 LCA模拟赛2T2 异或排列 题解
  • Bugkuctf的哥哥的秘密
  • 国庆做题记录(基础算法)
  • fp16训练神经网络时出现nan问题
  • 第十篇
  • 504 品酒大会!!!!!!
  • 整体理解pai0-具身智能-01 - jack
  • 【数据结构】可撤销并查集 - Slayer
  • 皮卡鱼源码导读
  • 高斯消元学习笔记
  • newDay07
  • 10月9日
  • 从开放重定向到XSS:漏洞升级实战
  • 余弦日记
  • 【题解】P11459 [USACO24DEC] Its Mooin Time P
  • 创建一个springboot项目,mybatis连接嵌入式数据库H2,实现增删改查功能
  • 基于众包的产品质量比较与推荐算法研究
  • 10/9
  • 2025.10.9
  • 线程池总结
  • 合并两个有序链表
  • 深入解析:一款相机是只有桶形畸变 和 枕形畸变的一种,还是两个都有?
  • 数据结构-链表
  • 重组抗体技术:从原理到应用,解锁高效可控的新一代抗体研发
  • P13690 [CEOI 2025] boardgames
  • CSS
  • 关于jinja2的ssti模版注入的学习+过滤
  • WPF Epplus export 10M+ items in excel with multiple sheets batch by batch