远程连接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或你设置的wslshell。
🚀 补充优化(可选)
如果你的 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/