windows10自动开启wsl2的cron和ssh服务 并运行其它机器访问ssh服务

本文介绍如何配置 Windows Subsystem for Linux 2 (WSL2) 环境,使得 SSH 服务及 cron 定时任务服务能够在每次登录 Windows 时自动启动,并提供 PowerShell 脚本实现 WSL2 的端口转发。

wsl2里的默认用户名为user

  1. 首先创建一个脚本文件 /home/user/start_service.sh 用来开启cron服务和ssh服务
   service cron start
   service ssh start


2. chmod +x start_service.sh

3. sudo visudo

 #添加以下内容 这样执行 sudo ./start_service.sh的时候不用输入密码
 user ALL=(root) NOPASSWD: /home/user/start_service.sh


4. 在windows10里 点开始 输入task

任务计划程序库 --> 创建任务

常规:start_service 选择使用最高权限运行

触发器:新建>>登录时>>确定

操作:新建>>启动程序>>程序或脚本(C:\Windows\System32\bash.exe)>>参加参数(-c "sudo ~/start_service.sh")


5. 新建文件C:\wslssh.ps1

$wslip = bash.exe -c "ifconfig eth0 | grep 'inet '" 
$found = $wslip -match '\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}'; 

if( $found ){ 
  $wslip = $matches[0]; 
} else{ 
  echo "The Script Exited, the ip address of WSL 2 cannot be found"; 
  exit; 
} 
echo "wslip:$wslip"; 

set-executionpolicy remotesigned; 
iex "netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=22 connectaddress=$wslip connectport=22"; 

6.
在windows10里

任务计划程序库 --> 创建任务

常规:wslfirewall 选择使用最高权限运行

触发器:新建>>登录时>>确定

操作:新建>>启动程序>>程序或脚本(C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe)>>参加参数(-command ". 'C:\wslssh.ps1’”)

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值