当前位置: 首页 > news >正文

WSL外部SSH连接有效方法

前言

wsl作为windows下使用linux平台有效的手段之一,本文可以让win作为工作站,外部系统用来连接win下的wsl系统。

自动启动服务脚本

https://zhuanlan.zhihu.com/p/47733615

开机自启+端口转发

wslname = "Ubuntu-20.04" '要转发端口的Linux系统名称,可以通过 wsl -l 命令查看
wslport = "2222" 'Linux系统里要转发的端口
winport = "2222" '转发到Windows上的端口'以下代码无需修改
If WScript.Arguments.Length = 0 Then '用于以管理员权限运行,不然没有权限配置端口转发CreateObject("Shell.Application").ShellExecute "wscript.exe" _ , """" & WScript.ScriptFullName & """ RunAsAdministrator", , "runas", 1 WScript.Quit 
End ifset fso = CreateObject("Scripting.FileSystemObject")
set objShell = CreateObject("WScript.Shell") 
objShell.Run "cmd /c wsl -d Ubuntu-20.04 -u root /etc/init.wsl start", 0, True
writeip = objShell.Run("cmd /c ""wsl -d "+wslname+" -u root hostname -I"">C:\Windows\Temp\wslip.tmp",0,True)
set f = fso.OpenTextFile("C:\Windows\Temp\wslip.tmp", 1)
wslip = f.ReadAll()
f.Close()
command = "cmd /c ""netsh interface portproxy add v4tov4 listenport="+winport+" listenaddress=0.0.0.0 connectport="+wslport+" connectaddress="+wslip
forwarding = objShell.Run(command,0,True)
fso.deleteFile("C:\Windows\Temp\wslip.tmp")

自动启动

1. 方法一

按win+r输入shell:startup再按回车键,就会打开当前用户的启动文件夹。

2. 方法二
如果你想要.vbs脚本以管理员权限自动启动,而不需要用户确认,最有效的方法是通过设置计划任务,配置它以最高权限运行。这样可以绕过UAC(用户账户控制)提示,实现无需手动确认即可自动以管理员权限执行脚本。以下是详细步骤:

创建计划任务以管理员权限自动运行.vbs脚本
打开任务计划程序:

在Windows搜索框中输入“任务计划程序”并打开它。
创建新任务:

在任务计划程序的右侧窗格中,选择“创建任务”以开始新任务的创建过程。
配置任务的常规属性:

在“常规”选项卡中,为你的任务命名。
勾选“使用最高权限运行”选项。
选择适合你需求的其他常规选项,例如运行的用户账户。
设置触发器:

切换到“触发器”选项卡,点击“新建”。

设置触发器,在系统启动时、登录时或按照特定的计划运行脚本。
在这里插入图片描述

调整其他设置以满足你的具体需求,然后点击“确定”。
添加操作以运行脚本:

切换到“操作”选项卡,点击“新建”。
在“操作”下拉菜单中选择“启动程序”。
在“程序或脚本”框中输入输入你的.vbs脚本的路径,例如C:\path\to\your\script.vbs。
点击“确定”保存操作。
配置其他选项(如果需要):

可以在“条件”和“设置”选项卡中调整任务的其他属性,以满足特定的运行条件和行为。
保存并退出:

完成设置后,点击“确定”保存新任务。
可能会要求你输入管理员账户的密码,以验证权限。

在这里插入图片描述

测试

可以输入该命令查看 是否转发成功

wsl --list --running
netsh interface portproxy show all

相关文章:

WSL外部SSH连接有效方法

前言 wsl作为windows下使用linux平台有效的手段之一,本文可以让win作为工作站,外部系统用来连接win下的wsl系统。 自动启动服务脚本 https://zhuanlan.zhihu.com/p/47733615 开机自启端口转发 wslname "Ubuntu-20.04" 要转发端口的Linux…...

MATLAB 1:基础知识

MATLAB中的数据类型主要包括数值类型、逻辑类型、字符串、函数句柄、结构体和单元数组类型。这六种基本的数据类型都是按照数组形式存储和操作的。 MATLAB中还有两种用于高级交叉编程的数据类型,分别是用户自定义的面向对象的用户类类型和Java类类型。 1.1.1数值类…...

django安装使用

Django 是一个高级的 Python Web 框架,用于构建安全和可维护的网站。以下是如何安装和使用 Django 的步骤。 一:安装 确保你安装了 Python 在 Django 3.x 中,官方支持 Python 3.6, 3.7, 3.8, 3.9, 和 3.10。你可以使用 python --version 或…...

基于LightGBM的回归任务案例

在本文中,我们将学习先进的机器学习模型之一:Lightgbm。在对XGB模型进行了越来越多的改进以获得更好的性能之后,XGBoost是一种极限梯度提升机器,但通过lightgbm,我们可以在没有太多计算的情况下实现类似或更好的结果&a…...

CTFshow web(php文件上传155-158)

web155 老样子,还是那个后端检测。 知识点: auto_append_file 是 PHP 配置选项之一,在 PHP 脚本执行结束后自动追加执行指定的文件。 当 auto_append_file 配置被设置为一个文件路径时,PHP 将在执行完脚本文件的所有代码后&…...

Leetcode 53 最大子数组和

题意理解: 给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 子数组 是数组中的一个连续部分。 所以每个元素都有两个状态,是前一部分的延续&#xff0…...

【pandas 不同文件读取和存储】

文章目录 一、Pandas 文件读取和存储概览二、读取不同类型的文件1. CSV文件的读取与存储代码及解释: 2. Excel文件的读取与存储代码及解释: 3. JSON文件的读取与存储代码及解释: 4. SQL数据库的读取与存储代码及解释: 5. 其他格式…...

python从入门到精通(十六):python爬虫的BeautifulSoup4

python爬虫的BeautifulSoup4 BeautifulSoup4导入模块解析文件创建对象python解析器beautifulsoup对象的种类Tag获取整个标签获取标签里的属性和属性值Navigablestring 获取标签里的内容BeautifulSoup获取整个文档Comment输出的内容不包含注释符号BeautifulSoup文档遍历Beautifu…...

Codeforces Round 924(Div.2) A~E

A.Rectangle Cutting (模拟) 题意: 给出一个长方形,通过平行于原始矩形的一条边进行切割,将该矩形切割成两个边长为整数的矩形。询问是否能通过旋转和移动这两个矩形,得到新的矩形。 分析: 可以发现拼成的新长方形…...

django中实现观察者模式

在Django中实现观察者模式,你可以利用Django的信号(Signals)系统。Django的信号提供了一种发布/订阅模型,允许解耦应用程序组件之间的交互。一个组件可以发送一个信号,而其他组件可以监听这个信号并响应它。 下面是如…...

Elasticsearch中的动态DSL解决方案

目录 问题背景 解决方案 编写es的mapper 动态dsl编写 使用mapper获取动态dsl 远程调用restful api查询 问题背景 在大数据量的业务系统中,一般都会引入Elasticsearch来作为搜索引擎,而搜索的条件又是多种多样的。回顾下,如果是mysql等…...

【操作系统】MacOS虚拟内存统计指标

目录 命令及其结果 参数解读 有趣的实验 在 macOS 系统中,虚拟内存统计指标提供了对系统内存使用情况和虚拟内存操作的重要洞察。通过分析这些指标,我们可以更好地了解系统的性能状况和内存管理情况。 命令及其结果 >>> vm_stat Mach Virtu…...

LeetCode:67.二进制求和

67. 二进制求和 - 力扣(LeetCode) 又是一道求和题,% / 在求和的用途了解了些, 目录 题目: 思路分析: 博主代码: 官方代码: 每日表情包: 题目: 思路分析&#xf…...

修改GI文件的权限

参考文档: How to check and fix file permissions on Grid Infrastructure environment (Doc ID 1931142.1) -- 验证二进制文件的权限 [gridnode19c01 ~]$ cluvfy comp software -n node19c01 -verbosePerforming following verification checks ...Software …...

OJ刷题:杨氏矩阵【建议收藏】

看见这个题目&#xff0c;很多人的第一反应是遍历整个数组查找数字&#xff0c;但是这种方法不仅效率低&#xff0c;而且远远不能满足题目要求。下面介绍一种高效的查找方法&#xff1a; 代码实现&#xff1a; #include <stdio.h>int Yang_Find_Num(int arr[][3], int …...

2024-02-13 Unity 编辑器开发之编辑器拓展4 —— EditorGUIUtility

文章目录 1 EditorGUIUtility 介绍2 加载资源2.1 Eidtor Default Resources2.2 不存在返回 null2.3 不存在则报错2.4 代码示例 3 搜索框查询、对象选中提示3.1 ShowObjectPicker3.2 PingObject3.3 代码示例 4 窗口事件传递、坐标转换4.1 CommandEvent4.2 GUIPoint 和 ScreenPoi…...

redis加锁实现方式

思考 是否有官方推荐&#xff08;自己先思考如何实现&#xff0c;然后再参考其他人的实践&#xff0c;总结优缺点&#xff09;通过哪些方式可以实现锁锁是否具有原子性锁请求失败了如何处理如果避免发生死锁如果避免发生资源抢占如果避免锁的误删 官方实现策略 安全性能&#…...

ClickHouse--08--SQL DDL 操作

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 SQL DDL 操作1 创建库2 查看数据库3 删除库4 创建表5 查看表6 查看表的定义7 查看表的字段8 删除表9 修改表9.1 添加列9.2 删除列9.3 清空列9.4 给列修改注释9.5 修…...

5种风格非常经典的免费wordpress主题

免费wordpress主题下载 高端大气上档次的wordpress主题&#xff0c;也可以是免费的&#xff0c;可以在线免费下载。 https://www.wpniu.com/themes/288.html wordpress免费主题 高端大气的wordpress免费主题&#xff0c;LOGO在顶部左侧&#xff0c;导航菜单在顶部右侧。 ht…...

「数据结构」哈希表2:实现哈希表

&#x1f387;个人主页&#xff1a;Ice_Sugar_7 &#x1f387;所属专栏&#xff1a;Java数据结构 &#x1f387;欢迎点赞收藏加关注哦&#xff01; 实现哈希表 &#x1f349;扩容&#x1f349;插入&#x1f349;获取value&#x1f349;源码 &#x1f349;扩容 在讲插入之前需要…...

Linux 文件类型,目录与路径,文件与目录管理

文件类型 后面的字符表示文件类型标志 普通文件&#xff1a;-&#xff08;纯文本文件&#xff0c;二进制文件&#xff0c;数据格式文件&#xff09; 如文本文件、图片、程序文件等。 目录文件&#xff1a;d&#xff08;directory&#xff09; 用来存放其他文件或子目录。 设备…...

Redis相关知识总结(缓存雪崩,缓存穿透,缓存击穿,Redis实现分布式锁,如何保持数据库和缓存一致)

文章目录 1.什么是Redis&#xff1f;2.为什么要使用redis作为mysql的缓存&#xff1f;3.什么是缓存雪崩、缓存穿透、缓存击穿&#xff1f;3.1缓存雪崩3.1.1 大量缓存同时过期3.1.2 Redis宕机 3.2 缓存击穿3.3 缓存穿透3.4 总结 4. 数据库和缓存如何保持一致性5. Redis实现分布式…...

ESP32读取DHT11温湿度数据

芯片&#xff1a;ESP32 环境&#xff1a;Arduino 一、安装DHT11传感器库 红框的库&#xff0c;别安装错了 二、代码 注意&#xff0c;DATA口要连接在D15上 #include "DHT.h" // 包含DHT库#define DHTPIN 15 // 定义DHT11数据引脚连接到ESP32的GPIO15 #define D…...

HTML前端开发:JavaScript 常用事件详解

作为前端开发的核心&#xff0c;JavaScript 事件是用户与网页交互的基础。以下是常见事件的详细说明和用法示例&#xff1a; 1. onclick - 点击事件 当元素被单击时触发&#xff08;左键点击&#xff09; button.onclick function() {alert("按钮被点击了&#xff01;&…...

今日科技热点速览

&#x1f525; 今日科技热点速览 &#x1f3ae; 任天堂Switch 2 正式发售 任天堂新一代游戏主机 Switch 2 今日正式上线发售&#xff0c;主打更强图形性能与沉浸式体验&#xff0c;支持多模态交互&#xff0c;受到全球玩家热捧 。 &#x1f916; 人工智能持续突破 DeepSeek-R1&…...

【Go语言基础【12】】指针:声明、取地址、解引用

文章目录 零、概述&#xff1a;指针 vs. 引用&#xff08;类比其他语言&#xff09;一、指针基础概念二、指针声明与初始化三、指针操作符1. &&#xff1a;取地址&#xff08;拿到内存地址&#xff09;2. *&#xff1a;解引用&#xff08;拿到值&#xff09; 四、空指针&am…...

【从零学习JVM|第三篇】类的生命周期(高频面试题)

前言&#xff1a; 在Java编程中&#xff0c;类的生命周期是指类从被加载到内存中开始&#xff0c;到被卸载出内存为止的整个过程。了解类的生命周期对于理解Java程序的运行机制以及性能优化非常重要。本文会深入探寻类的生命周期&#xff0c;让读者对此有深刻印象。 目录 ​…...

嵌入式常见 CPU 架构

架构类型架构厂商芯片厂商典型芯片特点与应用场景PICRISC (8/16 位)MicrochipMicrochipPIC16F877A、PIC18F4550简化指令集&#xff0c;单周期执行&#xff1b;低功耗、CIP 独立外设&#xff1b;用于家电、小电机控制、安防面板等嵌入式场景8051CISC (8 位)Intel&#xff08;原始…...

vue3 vite.config.js 引入bem.scss文件报错

[sass] Can’t find stylesheet to import. ╷ 1 │ use “/bem.scss” as *; │ ^^^^^^^^^^^^^^^^^^^^^^ ╵ src\App.vue 1:1 root stylesheet 分析 我们遇到了一个在Vue3项目中使用Vite时&#xff0c;在vite.config.js中引入bem.scss文件报错的问题。错误信息指出在App.vue…...

详解鸿蒙Next仓颉开发语言中的动画

大家上午好&#xff0c;今天来聊一聊仓颉开发语言中的动画开发。 仓颉中的动画通常有两种方式&#xff0c;分别是属性动画和显示动画&#xff0c;我们今天以下面的加载动画为例&#xff0c;使用显示动画和属性动画分别实现一下&#xff0c;看看他们有什么区别。 显示动画 显示…...