首页 > 其他分享 >一个与 WSL2 建立远程的简单方法

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

时间:2024-05-27 20:11:07浏览次数:19  
标签:Name Service windows ip wsl ssh 简单 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
  2. 启动 ssh 服务,设置自启动,看状态。
    Start-Service sshd
    Set-Service -Name sshd -StartupType 'Automatic'
    Get-Service sshd
  3. 更新 wsl ,否则连接后无法启动 wsl。
    wsl --update --pre-release
  4. 之后,使用 windows 的账号连接 windows 的 ssh,即可远程 wsl 服务了。
  5. 如果嫌启动 wsl 麻烦,可以再做一个配置,直接把 ssh 的终端设置为 wsl
    New-ItemProperty -Path "HKLM:\SOFTWARE\OpenSSH" -Name DefaultShell -Value "C:\Windows\System32\wsl.exe" -PropertyType String -Force

希望对你有帮助。

标签:Name,Service,windows,ip,wsl,ssh,简单,WSL2,远程
From: https://www.cnblogs.com/Joy-Word/p/18216423

相关文章

  • Floyd算法的简单使用方法(模板)
    今天我们老师讲了Floyd算法,使用想着总结一下,方便后面进行复习,使用如果在接下来的文章中有哪里写的不对,或者表达不恰当,欢迎提出,谢谢!关于这个算法,我的理解是应用链接矩阵来进行存储值,通过比较来更新值,最后得出最短路径等问题的答案;使用模板:第一步就是使用宏定义来定义一个偏大......
  • DockerUI结合cpolar内网穿透远程管理维护本地docker和swarm集群
    文章目录......
  • Python(四)——基础控制流程语句:简单用户登录和输出10以内的奇偶数
    例子1:编写一小段代码,输入正确的账号和密码实现登陆操作。利用input函数判断用户名和密码是否正确,正确输出“欢迎您!“,用户名默认admin,密码默认为123代码实现:username=input("请输入用户名:")password=input("请输入密码:")ifusername=="admin":ifpassword=="123......
  • shell脚本的简单初识
     脚本相信大家都不陌生,平时玩游戏遇到的各种辅助软件;你可能要敲上一会的命令,大佬发给你一个文本,运行一下一秒解决。脚本确实帮助了我们很多,今天就来简单的了解一下在Linux中的一个shell脚本。什么是shell脚本?作用,或者是好处shell脚本简单来说就是将平时使用的指令按照顺序......
  • 【Yolov5】简单使用
    训练部分配置训练集目录(可以是从标注平台标注后生成的标签与图片):|--car/--images/--train#训练集的图片--val #验证集的图片,只要有图片就可以--lables/#特征标签--train#txt特征文件--val #txt特征文件...cache文件#......
  • 案例一:neo4j构建简单的金融知识图谱
    参考上一个博文将所有数据导入neo4j里面并新建数据库robot在案例里面给了很多数据开始时候不知道导入那个,但是知道需要节点文件和关系文件,并且导入知识图谱数据库的文件必须有格式 最上面一行是必须有的,所以我把目录下的文件件全部点开发现只有这一部分是需要导入的中间的:ex......
  • AP2813双路降压恒流LED芯片_外围简单内置功率管驱动IC
    产品叙述AP2813是深圳市世微半导体有限公司推出的一款双路降压恒流驱动器,高效率、外 围简单、内置功率管,适用于5-80V输入的高精度降压LED恒流驱动芯片。内置功率管输出大功率可达12W,最大电流1.2A。AP2813一路直亮,另外一路通过MODE1切换全亮,爆闪。AP2813工作频率固定在......
  • 更适合国内的远程访问方法:自建根服务器&基于节点小宝虚拟内网
    网盘限速?异地出差忘文件?出差异地办公,访问公司OA、ERP、CRM系统、文件服务器等,快速组建个人局域网,家庭影院共享,享受高质量的视听体验。等等这样的场景,稳定靠谱的远程访问能力显得就更加至关重要了。总的来说,从外网访问内网的服务大致有三种方案:1、获取公网IP+DDNS解析2、......
  • 如何远程访问Redis?
    远程访问Redis是一种常见的需求,特别是在分布式系统或跨地域网络中。通过远程访问,我们可以轻松地对远程的Redis数据库进行操作和管理。天联保障数据安全对于远程访问Redis的安全性问题,我们可以借助天联来保障数据的安全。天联是一种基于私有通道的远程访问解决方案,可以让异......
  • Windows远程桌面是什么?
    Windows远程桌面是一种远程桌面协议,允许用户通过网络连接到远程Windows计算机,并在本地操作远程计算机。它为用户提供了访问远程计算机的便利性,可以在不同地区的电脑或设备之间进行信息远程通信。天联解决方案在远程桌面技术中,天联是一个可靠的解决方案。天联利用组网技术,可......