使用zerotier实现ssh远程连接wsl2

目录

  • 前言
  • 准备工作
  • wsl2部署ssh
  • windows本地端连接
  • 手机客户端连接

前言

ssh连接wsl2可以方便我们远程管理,其方法和直接在ubuntu中设置ssh如出一辙。

准备工作

  1. 注册一个zerotier的账户

    注册网址

    注册成功之后点击 Create A Network

    可以看到我们的NETWORK ID,点击ID 可以看到我们这个网络的具体配置信息。 我们可以更改Name,Description,IPV4的网段等等信息。Access Control 那里一定要是Private,这样才能保护我们的连接隐私性。

    Alt text

wsl2 部署ssh

  1. 在 Ubuntu 中安装 SSH 服务器:

    • 打开 WSL2 的 Ubuntu 终端。
    • 更新包列表:sudo apt update
    • 安装 SSH 服务器:sudo apt install openssh-server
    • 启动 SSH 服务:sudo service ssh start
  2. 安装 ZeroTier One:

    • 在 Ubuntu 终端中安装 ZeroTier One:curl -s https://install.zerotier.com | sudo bash
    • 加入 ZeroTier 网络:sudo zerotier-cli join [network_id](将 [network_id] 替换为您的 ZeroTier 网络 ID)。
    • 在zerotier网页Members列表勾选刚刚加入网络的设备
  3. 配置 Windows 防火墙:

    • 允许 WSL2 的 Ubuntu 通过 Windows 防火墙。可以在 Windows 防火墙设置中添加一个入站规则,允许 TCP 端口 22。

windows本地端连接

在zerotier官网下载windows客户端安装,然后右键托盘区域的软件图标,选择加入我们刚刚创建的网络。同样的,也要在zerotier网页Members列表勾选我们刚刚加入网络的设备。

使用你常用的ssh客户端,比如putyfinalshell等。
然后我们在ssh客户端输入wsl2设备的ip(members列表上显示的),端口22,即可连接。

注意: 你应该在另一台windows设备上安装zerotier客户端连接wsl2。如果你同时启动了wsl2和windows环境下的zerotier,那么windows环境下的zerotier将会闪退。这可能是一个Bug,我已经给官方反馈了。
注意1: 如果你安装了多个wsl 系统,一个系统占用22端口后,其他系统就没法使用,开启ssh会报错。因此当你需要使用ssh时,只开启那一个系统即可。
提示: 你只需要在wsl2中安装zerotier即可使用其他设备远程连接。