WSL开机自启动ssh服务

 

1. win+R键调出运行,输入shell:startup确定进入开始菜单启动程序目录(大致是C:\Users\用户名\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup);

2. startWSL.vbs放到上述目录;

3. 打开wsl,将init.sh放到/目录,即/init.sh,记得要提前安装openssh-server(apt-get install openssh-server),应该默认安装好了;

4. 下次开机将自动启动wsl,并运行着ssh的进程,任务管理器中可以看到如下图内容。

    此时,可以使用xshell等连接localhost,可以使用密码或密钥连接,方式同linux,这里不予累述。

p

1. startWSL.vbs

Set ws = WScript.CreateObject("WScript.Shell")
cmd = "C:\Windows\System32\bash.exe -c ""bash /init.sh"""
'运行命令不显示cmd窗口
ws.Run cmd, 0, false
Set ws = Nothing
WScript.quit

 

2. init.sh

#!/bin/bash
pn=$(ps aux|grep -v grep|grep sshd|wc -l)
[ -d /var/run/sshd ] || mkdir /var/run/sshd
chmod 744 /var/run/sshd
if [ "${pn}" != "0" ]; then
    pid=$(ps aux|grep -v grep|grep /usr/sbin/sshd|awk '{print $2}')
    kill $pid
fi
/usr/sbin/sshd -D

 需要默认root运行

在cmd 下:
wslconfig /list # 查看wsl版本

ubuntu1604 config --default-user root

Ubuntu 18.04
在cmd 目录下:
    ubuntu1804 config --default-user root

配置文件github地址: https://github.com/yinshangqing/WSL

Guess you like

Origin blog.csdn.net/qq_18286031/article/details/102847379