远程连接WSL 的最佳解决方案
本文最后更新于 2025年4月18日 晚上
💡 目标
本地 VSCode → SSH 远程登录 Windows 主机 → 自动进入 Windows 的 WSL 环境。
后续 VSCode 打开目录、运行调试都在 WSL 内,体验跟 Linux 机器一样。
🧑💻 步骤一:Windows 端配置 SSH 服务
1️⃣ 确保 Windows 安装 OpenSSH Server
。
设置
→应用
→可选功能
→添加功能
→ 安装OpenSSH Server
。- 安装好后,打开服务管理器,找到
OpenSSH SSH Server
。 - 设置为:自动,然后启动。
2️⃣ 检查 Windows 防火墙,允许 22端口
。
3️⃣ 配置 Windows 上的 SSH,找到配置文件:
1 |
|
添加或确保这行配置(一般默认打开):
1 |
|
✅ 确保 SSH 连接正常:用 ssh
从其他机器连接测试。
1 |
|
🧑🔧 步骤二:设置 SSH 自动进入 WSL
重点来了!Windows 可以用 ForceCommand
强制登录时执行 wsl.exe
,直接落进 Linux 子系统。
1️⃣ 在 Windows 上,打开:
1 |
|
如果没有,就创建一个,加入你的公钥(如果用密钥登录的话)。
2️⃣ 修改 Windows 上 sshd_config
文件:
1 |
|
添加:
1 |
|
注意路径是 双反斜杠 \\
,不能写错!
保存后,重启 SSH 服务:
1 |
|
💻 步骤三:本地 VSCode 配置 Remote-SSH
1️⃣ 本地 VSCode 安装插件:
Remote - SSH
2️⃣ 配置本地 ~/.ssh/config
:
1 |
|
3️⃣ 用 VSCode 连接:
F1
→ 输入Remote-SSH: Connect to Host...
- 选择
mywslserver
。
这时候会发现:
- 登录完成后,
Remote Explorer
直接显示的路径就是WSL
里的路径! - VSCode 的终端默认是
bash
或你设置的wsl
shell。
🚀 补充优化(可选)
如果你的 Windows 上装了多个 WSL 发行版,默认用哪个,可以设置:
1 |
|
例如:
1 |
|
这样 SSH 登录时 ForceCommand
执行的就是这个默认发行版。
🎯 最终效果
- 本地 VSCode → 一键 SSH → 自动进入远程 Windows 的 WSL 子系统。
- 代码目录 / 工具链都在 Linux 环境,支持 Docker / apt / Python / GCC。
- 调试体验 = 真 Linux 环境,解决跨平台开发问题。
💡 温馨提示
ForceCommand
方式不支持 Windows 桌面环境,纯命令行进 WSL;适合专注开发。
远程连接WSL 的最佳解决方案
https://liegu0317.top/2025/04/18/20250418-remote-wsl/