0%

win10 wsl子系统开机自启sshd

记录下windows10 wsl安装openssh-server并且开机自启动的过程

需要先安装openssh-server

1
sudo apt install openssh-server

编辑/etc/ssh/sshd_config
修改端口,是否可以密码登陆等配置

启动: sudo service ssh --full-restart
停止: sudo service ssh stop

注意:

Debianwsl中
启动是service ssh --full-restart
不是service sshd --full-restart
不是笔误

启动后,使用ssh client(putty,xshell等)连接,检测sshd是否启动成功

添加一个脚本,用于执行启动ssh server

例如/etc/init.wsl

编辑init.wsl(sudo vi /etc/init.wsl)

1
2
3
#!/bin/sh
sudo service ssh --full-restart
## 也可以添加其他的自启动命令

添加为root可执行

1
sudo chmod +x /etc/init.wsl

添加root免密执行(sudo vi /etc/sudoers)

开启写权限sudo chmod +w /etc/sudoers

1
2
3
4
5
## sudo vi /etc/sudoers
## 在Debian wsl中, 显示是只读文件
## 但是可以通过 :w! 强制保存
## 添加下面行, /etc/init.wsl可以免密执行
%sudo ALL=NOPASSWD: /etc/init.wsl

取消写权限sudo chmod -w /etc/sudoers

测试是否设置成功

打开一个cmd(powershell)

执行C:\Windows\System32\bash.exe -c 'sudo /etc/init.wsl'

如果成功,则表示上面的配置已经ok了

增加开机启动脚本

打开开机启动目录

按键win+R 输入shell:startup系统会自动打开一个目录

增加脚本startservice.vbs(名字随便)

内容为

1
2
Set ws = WScript.CreateObject("WScript.Shell")
ws.run "C:\Windows\System32\bash.exe -c 'sudo /etc/init.wsl'",0

重启电脑

OK

参考文档

  1. https://blog.csdn.net/fuyuande/article/details/90510250