尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

VSCode连接远程Windows11的WSL2的项目

VSCode连接远程Windows11的WSL2的项目
📅 发布时间:2026/6/22 12:24:34

前言

以前我尝试过使用远程连接(局域网)另一台Windows11主机上的WSL2进行开发。
在那会,我能够成功通过VSCode的Remote-SSH插件和WSL插件连接远程主机上WSL2中的项目。
具体操作:先使用Remote-SSH插件连接远程主机,然后Remote Explorer再切换为WSL Targets(此时会检测到远程主机上的WSL2系统),选择对应的WSL2子系统连接,最后再进入到对应的项目路径下作为工作区。

那时候这种方式基本没有问题,开发过程也算流畅,印象中没有碰到过什么连接上的问题。

现在,我尝试在新的电脑和新的远程主机上(本地机和远程机都不同了),想如法炮制当时的做法,但是在最后一步失败了。
具体来说,我能够成功连接到远程主机的WSL2子系统上,并且能进入到指定的项目路径下,但是止步于信任工作区这一操作上。我每次都选择“trust&continue”,但最后都是断连并且显示“Restricted Mode”
我尝试过在设置里将Security->Workspace->Trust:Enable这一项给设置成false(取消勾选),结果是可以成功连接的。但是奇怪的是将项目路径设置为受信任的工作区就不行。
除此之外,我还尝试过将远程WSL2的.vscode-server删掉,把本地的VSCode连接记录清空,重新尝试,也都没用。

如果有头绪/解决方法,希望提出。

通过SSH跳板实现

手把手教程

参考博文:
https://zhuanlan.zhihu.com/p/404179039
https://zhuanlan.zhihu.com/p/691385210

Windows11配置SSH

本地和远程安装运行OpenSSH

管理员权限运行PowerShell:

Get-WindowsCapability -Online | ? Name -like 'OpenSSH*'

查看结果,若显示Installed表明已安装,显示NotPresent则未安装需要自行安装:

Name  : OpenSSH.Client~~~~0.0.1.0
State : Installed/NotPresentName  : OpenSSH.Server~~~~0.0.1.0
State : Installed/NotPresent

安装指令分别如下(安装可能会比较慢,需要耐心等待):

# 安装OpenSSH客户端
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0#安装OpenSSH服务端
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0

启动SSH服务器:

# 启动sshd服务
Start-Service sshd# 将sshd服务设置为自动启动,若不设置需要在每次重启后重新开启sshd
Set-Service -Name sshd -StartupType 'Automatic'# 确认防火墙规则,一般在安装时会配置好
Get-NetFirewallRule -Name *ssh*# 若安装时未添加防火墙规则"OpenSSH-Server-In-TCP",则通过以下命令添加
New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22

将本地公钥添加到远程许可文件中

本地生成密钥对:

# 设置保存路径 系统会提示输入密钥保存路径,按回车使用默认路径:C:\Users\<用户名>\.ssh\id_ed25519
# 设置密码短语(可选) 系统会要求输入密码短语,为私钥增加保护。直接回车可跳过。
# 查看生成结果 密钥对会保存在 .ssh 文件夹中: 私钥:id_ed25519 公钥:id_ed25519.pub
ssh-keygen -t ed25519

切换到远程操作
将本地生成的公钥内容添加到远程authorized_keys文件中:

echo <公钥内容> > C:\Users\<Username>\.ssh\authorized_keys

添加后再赋予权限:

icacls.exe "C:\Users\<Username>\.ssh\authorized_keys" /inheritance:r /grant "<Username>:F" /grant "SYSTEM:F"

修改ProgramData\ssh\sshd_config文件(需要管理员权限):

#允许公钥授权访问,确保条目不被注释
PubkeyAuthentication yes#授权文件存放位置,确保条目不被注释
AuthorizedKeysFile	.ssh/authorized_keys#可选,关闭密码登录,提高安全性
PasswordAuthentication no#注释掉默认授权文件位置,确保以下条目被注释
#Match Group administrators
#       AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys

重启sshd服务(管理员权限运行PowerShell):

Restart-Service sshd

完成。

卸载OpenSSH

# 卸载 OpenSSH 客户端
Remove-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0# 卸载 OpenSSH 服务端
Remove-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0

WSL2配置SSH

安装:

sudo apt remove openssh-server # To ensure the latest version
sudo apt install openssh-server

在远程主机上测试与WSL2的SSH连通:

ssh <WSL2_Username>@localhost

设置自启动脚本,vim ~/.start-services.sh写入以下内容:

# ~/.start-services.sh
#!/bin/bash# 启动 SSH 服务(以 Ubuntu/Debian 为例)
sudo service ssh start

赋权:

chmod +x ~/.start-services.sh

设置自启动,vim ~/.bashrc文件末尾添加以下内容:

# Auto-start services when WSL starts
if [ -z "$SSH_STARTED" ]; thenexport SSH_STARTED=1~/.start-services.sh
fi

在本地主机测试SSH Jump连接正常:

ssh -J <远程主机用户名>@<远程主机IP>:<远程主机端口> <WSL2_Username>@localhost

设置本地的SSH config实现远程连接:

Host <自行指定你的连接名字>HostName localhostUser <WSL2_Username>ProxyJump <远程主机用户名>@<远程主机IP>:<远程主机端口>StrictHostKeyChecking noUserKnownHostsFile=/dev/null

至此,本地的VSCode就能直接连接远程主机的WSL2中的项目作为工作区了

直接穿透

就是在WSL2里安装运行frp直接穿透出去,这里就不详细展开了。

相关新闻

  • Java多线程 10大雷区:项目中哪个场景使用多线程?使用多线程有哪些雷区?
  • 【Week1_Day3】【软件测试学习记录与反思】【Linux的系统性学习、定义优先级的维度、Linux系统搭建与终端练习、反思与改进】
  • 基于深度强化学习的智能楼宇节能热舒适控制探索

最新新闻

  • 程序员量化交易实战 08:把原始 K 线清洗成可信行情
  • 接口自动化测试进阶:从pytest框架到CI/CD集成的工程化实践
  • 2026年徐州装修公司深度解析与排行:谁在引领品质家装新浪潮? - 博客万
  • 2026 年 6 月合肥 LV 回收攻略,出手多赚两千 - 奢品小当家
  • 2026年 律师/公司法务律师/离婚纠纷/经济纠纷/企业顾问/民间借贷/债务追讨/劳动纠纷/合同纠纷/婚姻家庭律师推荐:专业维权与精准服务实力之选 - 企业推荐官【官方】
  • Codex模型原理与合法接入方式:从API调用到本地代码助手搭建

日新闻

  • 2026速览惠州叛逆青少年学校前十大排名名单出炉 - 武汉中职最新信息发布
  • 2026上饶白蚁消杀哪家好?15年本土2大权威白蚁防治公司推荐(金盾虫控/青蚁卫士) - 我叫一
  • 天龙八部单机版终极数据管理工具:5个技巧快速掌握游戏数据编辑

周新闻

  • Visual C++运行库修复终极指南:5分钟快速解决Windows软件启动错误
  • 手把手教你构建统计局地区经济数据爬虫:从环境搭建到数据持久化全指南
  • 2026多Agent深度解析:用AI团队替代单一模型,四种架构实战落地

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号