启用WSL后,使用ssh通道连接ubuntu

Enjoy WSL

目的

启用wsl后,使用windows自带的powershell、cmd操作linux还是不太好使。以下介绍开启ssh通道,并保证能在ssh通道下,也能正常使用wsl中的win命令行,以及正常打开gui应用。

离线更新WSL,请跳转链接:离线更新WSL

打开ssh通道

  1. 删除 ubuntu 自带的openssh,在wsl环境下,无法正常启动

    sudo apt remove openssh-server
    sudo apt install -y openssh-server

  2. 编辑sshd配置文件

    vim /etc/ssh/sshd_config

    ...
    Port 22
    AddressFamily any
    #ListenAddress 0.0.0.0
    #ListenAddress ::

    ...

    To disable tunneled clear text passwords, change to no here!

    PasswordAuthentication yes
    #PermitEmptyPasswords no

    ...

  3. 启动ssh

    systemctl start ssh.service
    systemctl enable ssh.service

设置wsl环境变量

当通过ssh方式连接时,无法打开gui应用(或者只能通过隧道方式打开gui应用);同时也无法使用windows下的命令。

解决方法:

  1. 在用户目录下的 /home/user/.bashrc 追加上一下内容

    读取windows下的环境变量

    当通过ssh方式连接时,也能共享 windows 的环境变量

    WSL_ENV=/mnt/c/WINDOWS/System32/WindowsPowerShell/v1.0//powershell.exe -Command '& {\$env:Path}'|sed 's#;#:#g;s#\\\\#/#g;s#D:#/mnt/d#g;s#C:#/mnt/c#g'
    export PATH=PATH:WSL_ENV

    设置总是在:0上显示,

    当通过ssh方式连接时,也能打开GUI应用

    export DISPLAY=":0"

相关推荐
米高梅狮子2 小时前
第2章 docker容器
运维·docker·云原生·容器·架构·kubernetes·自动化
闵孚龙3 小时前
Claude Code Ultraplan 远程多代理规划全解析:AI Agent、CCR远程容器、异步规划、状态机、计划传送与企业级自动化治理
运维·人工智能·自动化
Irene19913 小时前
在 WSL 中下载安装 MySQL,连接到 SQLyog(MySQL 安装在 WSL vs Windows 本地对比)
mysql·wsl
二宝哥5 小时前
Linux虚拟机网络配置
linux·运维·服务器
卧室小白5 小时前
docker网络与服务编排与集群
运维·docker·容器
陳10305 小时前
Linux:进程间通信 和 简单进程池
linux·运维·服务器
数字化顾问5 小时前
(122页PPT)数字化架构的演进和治理(附下载方式)
java·运维·架构
zt1985q5 小时前
本地部署网页监控工具 Webmonitor 并实现外部访问
运维·服务器·网络·网络协议
匆匆那年9676 小时前
远程 Linux 校园网认证操作手册(本地浏览器法)
linux·运维·服务器
爱喝水的鱼丶7 小时前
SAP-ABAP:ABAP函数 NUMBER_GET_NEXT 详解:从编号范围对象获取下一个编号
运维·数据库·学习·sap·abap