You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从低权限笔记本通过SSH连接远程Windows服务器的WSL搭建多人开发环境

如何从低权限笔记本通过SSH连接远程Windows服务器的WSL搭建多人开发环境

嘿,针对你们团队遇到的这个低权限笔记本+受限远程桌面的WSL多人开发难题,我整理了一套落地性很强的方案,咱们一步步来搞定它:

首先先对齐下咱们的现状:

  • 开发者的笔记本权限极低,只能安装VSCode
  • 远程Windows服务器权限拉满,已经配置好WSL2,但远程桌面最多支持2人同时连接
  • 目标是让超过2位开发者,通过各自的笔记本直接SSH到远程服务器的WSL中进行开发

具体实现步骤

步骤1:在远程WSL中配置并启动SSH服务

先趁远程桌面还有名额的时候,登录到Windows服务器,打开WSL终端(比如Ubuntu),完成以下操作:

  • 先更新系统包:sudo apt update && sudo apt upgrade -y
  • 安装SSH服务:sudo apt install openssh-server -y
  • 编辑SSH配置文件:sudo nano /etc/ssh/sshd_config,需要修改这几个关键项:
    • 把Port改成非默认的端口(比如2222),避免和Windows系统本身的SSH服务冲突,也提升安全性
    • 将PasswordAuthentication设置为yes(如果后续想用密钥登录,后面可以再改回来)
    • 把PermitRootLogin改成no,禁止root用户直接登录
    • 可以添加AllowUsers项,指定允许登录的WSL用户,比如AllowUsers alice bob charlie(替换成你们团队的用户名)
  • 保存并退出编辑器:按Ctrl+O回车保存,再按Ctrl+X退出
  • 重启SSH服务:sudo service ssh restart,同时设置开机自启:sudo systemctl enable ssh

步骤2:在远程Windows服务器上配置端口转发

因为WSL是运行在Windows系统内部的,外部设备没法直接访问WSL的IP,所以需要把Windows服务器的端口转发到WSL的SSH端口:

  • 先获取WSL的内部IP:在WSL终端输入hostname -I,记下输出的IP地址
  • 打开Windows的「高级防火墙设置」,新建一条入站规则,允许TCP协议的刚才设置的端口(比如2222)通过防火墙,所有网络配置文件都勾选
  • 以管理员身份打开Windows命令提示符,执行端口转发命令:
    netsh interface portproxy add v4tov4 listenport=2222 listenaddress=0.0.0.0 connectport=2222 connectaddress=<刚才记下的WSL内部IP>
    
  • 验证转发规则是否生效:执行netsh interface portproxy show all,能看到刚才添加的规则就没问题

步骤3:在低权限笔记本上用VSCode连接远程WSL

因为笔记本只能装VSCode,刚好VSCode的Remote-SSH插件完全适配这个场景:

  • 打开VSCode,在插件商店搜索并安装「Remote - SSH」插件(不需要管理员权限,直接在VSCode内部就能安装)
  • 按F1打开命令面板,输入Remote-SSH: Open SSH Configuration File,选择用户目录下的配置文件
  • 在配置文件中添加以下内容(替换成你们的实际信息):
    Host Remote-WSL
      HostName <远程Windows服务器的IP或内网域名>
      Port 2222
      User <你的WSL用户名>
    
  • 保存配置后,再次按F1,输入Remote-SSH: Connect to Host,选择刚才配置的Remote-WSL,输入WSL用户的密码就能成功连接了
  • 连接成功后,所有开发操作都会在远程WSL中进行,而且多个开发者可以同时通过SSH连接,完全不受远程桌面2人限制的影响

优化与安全建议

  • 优先使用SSH密钥登录:在笔记本的VSCode中,按F1执行Remote-SSH: Generate Key Pair生成密钥对,把公钥复制到WSL用户的~/.ssh/authorized_keys文件中,然后执行chmod 600 ~/.ssh/authorized_keys修改权限,最后把sshd_config里的PasswordAuthentication改成no,这样既不用每次输密码,也更安全
  • 如果远程服务器是动态IP,可以考虑用内网动态域名工具(内网环境下),避免IP变动后需要重新配置
  • 定期备份WSL中的开发环境,比如导出WSL镜像,避免意外情况导致数据丢失

备注:内容来源于stack exchange,提问作者Yiffany

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.16 07:57:59