页面加载中
博客快捷键
按住 Shift 键查看可用快捷键
ShiftK
开启/关闭快捷键功能
ShiftA
打开/关闭中控台
ShiftD
深色/浅色显示模式
ShiftS
站内搜索
ShiftR
随机访问
ShiftH
返回首页
ShiftL
友链页面
ShiftP
关于本站
ShiftI
原版/本站右键菜单
松开 Shift 键或点击外部区域关闭
互动
最近评论
暂无评论
标签
寻找感兴趣的领域
暂无标签
    0
    文章
    0
    标签
    8
    分类
    10
    评论
    128
    功能
    深色模式
    标签
    JavaScript12TypeScript8React15Next.js6Vue10Node.js7CSS5前端20
    互动
    最近评论
    暂无评论
    标签
    寻找感兴趣的领域
    暂无标签
      0
      文章
      0
      标签
      8
      分类
      10
      评论
      128
      功能
      深色模式
      标签
      JavaScript12TypeScript8React15Next.js6Vue10Node.js7CSS5前端20
      随便逛逛
      博客分类
      文章标签
      复制地址
      深色模式
      AnHeYuAnHeYu
      Search⌘K
      博客
        暂无其他文档

        Windows 开启 WSL Linux 子系统并配置 SSH 远程连接完整教程

        June 3, 202610 分钟 阅读1 次阅读

        # 前言

        简单的说一下WSL的好处吧:

        Linux 兼容性:WSL 允许在 Windows 操作系统上运行 Linux 发行版,提供了与原生 Linux 相似的命令行工具和环境。这对于开发人员、系统管理员和其他需要在 Windows 平台上访问 Linux 工具和软件的用户非常有用。

        轻量级虚拟化:WSL 使用轻量级虚拟化技术,而不是传统的虚拟机,这意味着它几乎不会对系统性能产生明显影响。这使得在 Windows 上运行 Linux 不会导致系统变慢或需要大量系统资源。

        命令行工具:WSL 提供了大量的 Linux 命令行工具和实用程序,使开发人员能够在 Windows 上使用它们。这包括 bash shell、grep、sed、awk 等工具,以及编程语言的解释器和编译器。

        与 Windows 集成:WSL 与 Windows 集成得非常好,您可以轻松访问 Windows 文件系统中的文件,通过命令行在 Windows 和 Linux 之间传输文件,实现数据共享和互操作性。

        开发和测试环境:开发人员可以在自己喜欢的 Linux 发行版中创建开发和测试环境,而无需离开 Windows 桌面。这对于跨平台应用程序的开发和测试非常有帮助。

        安全性:WSL 提供了一个隔离的环境,可以在其中运行 Linux 应用程序,而不会影响 Windows 的安全性。这有助于隔离潜在的威胁。

        最最最重要的是,你可以运行任何你想玩的项目,建站也是没有问题的。

        # 一、开启Windows功能

        使用快捷键:

        按下 Win + R 键组合,这将打开运行对话框。

        在运行对话框中,输入 appwiz.cpl 并按下回车键。这将打开“程序和功能”窗口。

        在左侧面板中,单击“启用或关闭Windows功能”,这将打开​窗口。

        如图所示,勾选【Hyper-V】和【适用于Linux的Windows子系统】后重启电脑。

        # 二、更新和设置WSL版本

        在Windows菜单图标右键鼠标,打开【终端管理员】

        输入以下代码设置WSL 2作为默认版本

        运行以下代码更新WSL内核版本,不然会报错

        PLAINTEXT
        wsl.exe --update
        

        运行以下代码设置WSL版本

        PLAINTEXT
        wsl --set-default-version 2
        

        # 三、安装Linux系统安装 Linux 发行版:

        在 PowerShell 中,您可以使用以下命令来安装所选的 Linux 发行版。因为我测试Debian会有很多依赖问题,所以以 Ubuntu 为例:

        PLAINTEXT
        wsl --install -d Ubuntu
        

        如果你要安装其他系统,请将 Ubuntu 替换为您要安装的 Linux 发行版的名称。

        安装完成后会自动打开Linux终端窗口,

        因为Ubuntu默认不允许设root和admin用户名,所以要设置一个其他你喜欢的用户名,然后回车确认。然后会要求你设置密码,输入密码的时候不会显示。设置完成后回车稍等一会就会自动登录到Linux系统。如同所示:

        如果要使root账户,请在登陆状态下输sudo -i后输入你刚才设置的密码进行账户切换,然apt update进行更新源后就可以安装你需要的依赖啦。

        # 四、开启SSH并允许root登录

        1、安装SSH服务器

        在 Linux 子系统中,打开终端,运行以下命令来安装 OpenSSH 服务器:

        PLAINTEXT
        sudo apt update
        sudo apt install openssh-server
        

        2、修改配置端口为22,允许密码和root登录。

        运行以下命令进行修改配置文件内容

        PLAINTEXT
        sudo nano /etc/ssh/sshd_config
        

        找到下面的内容并去掉注释在前面的#号,其中PermitRootLogin prohibit-password更改PermitRootLogin yes这是允许用root登录的。

        PLAINTEXT
        Port 22
        PermitRootLogin prohibit-password
        PasswordAuthentication yes
        

        去掉前面的#号后Ctrl+X保存并退出。

        3、重启SSH服务

        运service ssh restart 或 sudo service ssh --full-restart命令进行重启服务。

        4、终端测试连接

        输入指令,格式为ssh 用户名@域名/IP

        PLAINTEXT
        ssh [email protected]
        ssh 127.0.0.1
        

        5、确保SSH服务器会在系统启动时自动启动:

        运行以下命令来设置SSH服务器开机自启动:

        PLAINTEXT
        sudo systemctl enable ssh
        

        6、配置永久解决方案

        通过上面的方法,我们可以通过xshell登录自己电脑的Linux。但是断开之后重新开机,我们又需要重新配置SSH。因此,我们需要配置以下命令下,一劳永逸。

        sudo service ssh --full-restart ## 将该命令保存service.sh,存在home目录下

        PLAINTEXT
        # >>> service ssh restart >>>
        # for Xshell connection
        sudo service ssh --full-restart
        # <<< service ssh restart <<<
        

        配置好之后,下次开机,只需要在Linux子系统的默认终端运行sh service.sh命令后,关掉终端改用xshell登录即可。

        7、查看SSH监听端口

        PLAINTEXT
        sudo ss -tuln | grep 22
        

        8、SSH服务器状态

        PLAINTEXT
        sudo service ssh status
        

        # 五、设置默认使用root登录系统(可选)

        登录到 root 用户。在 WSL 中,您可以使用 sudo 命令来获取 root 权限。运行以下命令并输入当前用户的密码以获得 root 权限:

        PLAINTEXT
        sudo -i
        

        输入 root 用户的密码,您将切换到 root 用户。

        要永久更改默认用户为 root 用户,编辑 WSL 配置文件。使用你喜欢的文本编辑器(例如,nano 或 vim)打开 /etc/wsl.conf 文件(如果文件不存在,请创建它):

        PLAINTEXT
        sudo nano /etc/wsl.conf
        

        打开 wsl.conf 文件后在原内容下面添加以下内容:

        PLAINTEXT
        [user]
        default=root
        

        这会将默认用户设置为 root 用户。

        保存并关闭文件。关闭当前终端窗口并重新打开一个终端窗口。

        运行以下命令重新启动 WSL 以应用更改:

        PLAINTEXT
        wsl --shutdown
        

        # 六、删除刚开始创建的用户(可选)

        使用 userdel 命令删除要删除的用户帐户。假设要删除的用户帐户名为 username,请运行以下命令:

        PLAINTEXT
        sudo userdel username #删除用户账户
        sudo rm -r /home/username #删除用户文件夹
        

        # 七、设置外部访问

        为了能够从外部连接到你的WSL Linux子系统,你需要确保系统具有公共IP地址,设置镜像网络或者设置端口转发以将流量路由到WSL子系统的局域网IP地址。请检查你的网络配置,确保WSL子系统能够访问公共网络,并且有一个可供外部访问的IP地址。


        方法一:设置端口转发

        增加转发的命令:

        PLAINTEXT
        netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=22 connectaddress=127.0.0.1 connectport=22
        

        删除转发的命令:

        PLAINTEXT
        netsh interface portproxy delete v4tov4 listenport=22 listenaddress=0.0.0.0
        

        使用以下命令列出当前的端口转发规则:

        PLAINTEXT
        netsh interface portproxy show all
        

        测试连接的命令:

        PLAINTEXT
        ssh username@ip -p 22
        

        方法二:设置镜像网络(推荐)

        打开我的电脑,复%UserProfile%到地址栏粘贴回车,C:\Users\<UserName>\.wslconfig位置新.wslconfig文件,用记事本打开并复制以下配置粘贴进去保存后并关闭。

        PLAINTEXT
        [wsl2]
        
        networkingMode=mirrored
        
        hostAddressLoopback=true
        

        # 八、卸载Linux系统

        PLAINTEXT
        wsl --unregister Ubuntu
        
        最后更新于 June 3, 2026
        On this page
        暂无目录