-
修改sshd 监听端口,避免和windows 10的22冲突
-
部分distro需要重新生成host证书
ssh-keygen -f /etc/ssh/ssh_host_rsa_key -N '' -t rsa
- 创建一个shell脚本
cat << EOF > /opt/bin/lxss-ssh
#!/bin/bash
# ubuntu不需要手动mount也能正常使用,一些distro需要
mount -t tmpfs vartmp /var/run
mkdir /var/run/sshd -p
/usr/sbin/sshd
while true
do
echo "Linux sub-system sshd is running, do not close window!"
read TEMP_KEEP_SESS
done
EOF
chmod 755 /opt/bin/lxss-ssh
- 安装sudo, 配置sudo免密码
# EDITOR=nano visudo -f /etc/sudoers.d/lxss-ssh
EDITOR=nano sudoedit /etc/sudoers.d/lxss-ssh # <== opensuse
# 添加以下内容
LXSS用户名 ALL=(ALL) NOPASSWD: /opt/bin/lxss-ssh
- 创建一个.vbs脚本
set shell = CreateObject("Wscript.Shell")
shell.run "bash.exe -c ""sudo /opt/bin/lxss-ssh""",vbhide
只需要运行这个脚本即可一直在后台运行WSL的ssh进程了,没有cmd窗口显示,screen,ssh等暂时正常.
将这个脚本或其快捷方式放入
%appdata%\Microsoft\Windows\Start Menu\Programs\Startup
即可实现用户登陆自动启动lxss的sshd服务
ssh USERNAME@127.0.0.1 -P 2222
任务管理器找到 bash.exe 结束任务即可,注意不是bash,是bash.exe