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 if

set 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

相关推荐

  1. WSL Ubuntu 中安装 SSH 服务器,ssh连接wsl

    2024-02-13 06:30:01       25 阅读
  2. ssh连接

    2024-02-13 06:30:01       14 阅读
  3. OpenVPN SSL/TLS方式连接

    2024-02-13 06:30:01       28 阅读
  4. Git多库多账号本地SSH连接配置方法

    2024-02-13 06:30:01       46 阅读
  5. 连接服务器的ssh终端自动断开解放方法

    2024-02-13 06:30:01       37 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-02-13 06:30:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-13 06:30:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-13 06:30:01       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-13 06:30:01       20 阅读

热门阅读

  1. ChatGPT大升级,文档图像识别领域迎来技术革新

    2024-02-13 06:30:01       34 阅读
  2. codeforces 1200E

    2024-02-13 06:30:01       36 阅读
  3. SQL世界之命令语句Ⅳ

    2024-02-13 06:30:01       28 阅读
  4. 动态态势感知中的态、势、感、知变化规律

    2024-02-13 06:30:01       32 阅读
  5. 缓存预热!真香

    2024-02-13 06:30:01       34 阅读
  6. c#异步编程

    2024-02-13 06:30:01       28 阅读
  7. C#系列-C#EF框架实现雪花主键(20)

    2024-02-13 06:30:01       26 阅读
  8. arduino ide编写的esp32和st773580*160的一个接球小游戏

    2024-02-13 06:30:01       46 阅读
  9. 洛谷:P1331 海战

    2024-02-13 06:30:01       29 阅读