返回指南列表
主机配置

Windows(WSL2)远程登录

在 WSL2 内运行 SSH,并将 Linux 环境添加为 Host。

Redock 直接连接 WSL2 内的 Linux 环境。本指南中的 SSH 服务、用户名、密码、密钥、路径和登录 Shell 都属于 WSL,而不是 Windows。

局域网连接推荐使用 Windows 11 22H2 或更高版本,并开启 WSL 镜像网络。Windows 10 和 WSL NAT 需要额外的端口转发,本指南不展开说明。

1. 安装 WSL2

以管理员身份打开 PowerShell:

wsl --install

按提示重启 Windows,打开安装好的 Linux 发行版,并创建 Linux 用户名和密码。确认发行版使用 WSL 2:

wsl --list --verbose

如果 VERSION 显示为 1,请运行 wsl --set-version <DistroName> 2。

2. 在 WSL 内安装 SSH

在 WSL 的 Ubuntu 或 Debian 中执行:

sudo apt update
sudo apt install -y openssh-server
sudo systemctl enable --now ssh
sudo systemctl status ssh --no-pager

在 WSL 内验证 Linux SSH 会话:

ssh localhost

其他发行版的包管理器或服务名称可能不同。

3. 允许从局域网连接 WSL

在 PowerShell 中打开 %UserProfile%\.wslconfig:

notepad $env:USERPROFILE\.wslconfig

添加:

[wsl2]
networkingMode=mirrored

然后以管理员身份运行 PowerShell:

wsl --shutdown
New-NetFirewallHyperVRule -Name 'RedockSSH' -DisplayName 'Redock SSH' -Direction Inbound -VMCreatorId '{40E0AC32-46A5-438A-A0B2-2B479E8F2E90}' -Protocol TCP -LocalPorts 22

执行 wsl --shutdown 后重新打开 Linux 发行版。Redock 连接时 WSL 必须处于运行状态;systemd 服务不会让已经停止的 WSL 实例保持运行。

4. 在 Redock 中添加 Host

在 PowerShell 中运行 ipconfig,使用当前 Wi-Fi 或以太网适配器的 IPv4 地址;在 WSL 内运行 whoami 获取 Linux 用户名。

Host: <Windows 局域网 IPv4 地址>
Port: 22
Username: <WSL Linux 用户名>
Connection Mode: SSH
Auth: WSL 密码或 SSH Key

使用密钥认证时,将公钥添加到 WSL 内的 ~/.ssh/authorized_keys。详细步骤见 SSH 认证。

常见问题

  • Connection timed out: 打开 WSL 发行版,检查 wsl --list --running,并确认 Hyper-V 防火墙规则和局域网地址。
  • Connection refused: 在 WSL 内运行 sudo systemctl status ssh 和 sudo ss -lntp | grep ':22'。
  • Authentication failed: 使用 WSL Linux 用户名及其密码或 authorized_keys,不要使用 Windows 凭据。
  • SFTP 正常但终端关闭: 运行 getent passwd $USER,确认账号拥有有效的登录 Shell,并检查 ssh localhost 能否保持连接。
  • 端口 22 已被占用: 在 WSL 内配置其他 SSH 端口,并在防火墙规则和 Redock Host 中使用相同端口。

日常远程访问建议使用 SSH Key 和 Tailscale 等私有网络。

Microsoft WSL 安装指南

Microsoft WSL 网络指南

Ubuntu OpenSSH Server 指南

跟着指南在 Redock 里试一下

用手机控制运行在自己主机上的终端编码 Agent