一个与 WSL2 建立远程的简单方法

前言

众所周知,windows 会通过虚拟交换机给本机和 wsl2(Linux 子系统)分别分配 ip。于是本机重启或重启 wsl 服务的时候会重新分配 ip。之前所作的端口转发,监听之类的都会失效。而如果你搜索 "如何固定 wsl 的 ip",又会得到一系列复杂的配置方法。且不说是否有用,但这一系列操作十分令人头疼。但是,如果你的 windows 是 win11 22H2 以上,情况就不一样了。仅需一个配置文件,就能让 wsl 与 windows 共享 ip。

具体操作

微软在 2023 年 9 月做了一个更新:适用于 Linux 的 Windows 子系统 2023 年 9 月更新之后,仅需在Windows中的C:\Users<your_username>目录下创建一个.wslconfig文件,然后在文件中写入如下内容:

复制代码
[experimental]
autoMemoryReclaim=gradual  
networkingMode=mirrored
dnsTunneling=true
firewall=true
autoProxy=true

保存后重启一下 wsl 终端。使用 ip addr 查看 ip,就可以发现与 windows 宿主机完全一致。使用 ssh <wsl账号>@<宿主机ip> -p <wsl中ssh端口> 就可以轻松建立连接。

以上设置非原创,参考了这篇随笔:解决"wsl: 检测到 localhost 代理配置,但未镜像到 WSL。NAT 模式下的 WSL 不支持 localhost 代理"至此,可能困扰过你的代理问题也解决了。

其他系统版本

我只能说抱歉,我没有找到有效且简单的方法。不过如果仅仅是远程而不用文件传输(文件传输用 git 之类的其他方式),倒是有一个旁门左道的方法。原理:在 windows 宿主机上安装 ssh,然后使用 ssh 连接 windows。这时候会打开 powershell 的终端。输入 wsl 即可运行当中的 wsl.exe。

操作如下:
  1. 在 windows 上安装 ssh

Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0

  1. 启动 ssh 服务,设置自启动,看状态。

Start-Service sshd

Set-Service -Name sshd -StartupType 'Automatic'

Get-Service sshd

  1. 更新 wsl ,否则连接后无法启动 wsl。

wsl --update --pre-release

  1. 之后,使用 windows 的账号连接 windows 的 ssh,即可远程 wsl 服务了。

  2. 如果嫌启动 wsl 麻烦,可以再做一个配置,直接把 ssh 的终端设置为 wsl

New-ItemProperty -Path "HKLM:\SOFTWARE\OpenSSH" -Name DefaultShell -Value "C:\Windows\System32\wsl.exe" -PropertyType String -Force

希望对你有帮助。

文章转载自: Joy-word

原文链接: https://www.cnblogs.com/Joy-Word/p/18216423

体验地址: 引迈 - JNPF快速开发平台_低代码开发平台_零代码开发平台_流程设计器_表单引擎_工作流引擎_软件架构

相关推荐
CS_Zero1 天前
nomachine连接无显示器的Ubuntu黑屏
远程工作
Splashtop高性能远程控制软件1 天前
企业如何搭建安全可控的远程办公体系?
运维·远程工作·远程控制·splashtop
袁煦丞 cpolar内网穿透实验室1 天前
Portainer可视化玩转 Docker 全流程。cpolar 内网穿透实验室第 737 个成功挑战
运维·docker·容器·远程工作·内网穿透·cpolar
袁煦丞 cpolar内网穿透实验室1 天前
ansible批量自动化清理服务器日志+远程管理!cpolar 内网穿透实验室第 710 个成功挑战
服务器·自动化·ansible·远程工作·内网穿透·cpolar
叶落阁主8 天前
Tailscale 完全指南:从入门到私有 DERP 部署
运维·安全·远程工作
田里的水稻16 天前
OE_ubuntu24.04如何安装FileZilla文件传输助手
经验分享·远程工作
hqyjzsb21 天前
非技术管理层推动企业AI转型的系统化实施策略
人工智能·跳槽·创业创新·学习方法·业界资讯·远程工作·程序员创富
猫头虎1 个月前
【汉化中文版】OpenClaw(Clawdbot/Moltbot)第三方开源汉化中文发行版部署全指南:一键脚本/Docker/npm 三模式安装+Ubuntu 环境配置+中文汉化界面适配开源版
docker·npm·开源·aigc·ai编程·远程工作·openclaw
LeoZY_1 个月前
开源项目精选: lazygit —— 告别繁琐命令,终端里玩转可视化Git
git·stm32·单片机·mcu·开源·远程工作·gitcode
hqyjzsb1 个月前
亲历AI浪潮5年:技术更新快,但掌握底层逻辑永远有价值
人工智能·程序人生·职场和发展·创业创新·学习方法·业界资讯·远程工作