linux之SSH连接WSL2本地环境的操作方式

 更新时间:2025年05月30日 09:19:00   作者:kucupung  
这篇文章主要介绍了linux之SSH连接WSL2本地环境的操作方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

安装WSL

wsl --install -d <发行版>

SSH 连接 WSL2 本地环境的完整步骤

要在 Windows 的 WSL2 环境中启用 SSH 服务,并允许本地或局域网设备连接,需完成以下步骤:

1. 安装openssh-server 和 net-tools

sudo apt update
sudo apt install openssh-server -y
sudo apt install net-tools

2. 配置 sshd

修改配置文件

sudo vim /etc/ssh/sshd_config

确保以下关键配置:

Port 22                   # 默认端口
ListenAddress 0.0.0.0     # 允许所有 IP 连接
PasswordAuthentication yes # 启用密码登录
PermitRootLogin yes       # 允许 root 登录(按需调整)

3. 启动 SSH 服务

sudo service ssh start  # 或手动启动:sudo /usr/sbin/sshd

验证服务状态:

ps -e | grep sshd
显示:
1689 ?        00:00:00 sshd

4. 免密登录

要实现 Windows 免密 SSH 访问 WSL2,本质上是配置 SSH 公钥认证,步骤如下:

1. 在 Windows 上生成 SSH 密钥对

  • 在 PowerShell 或 Git Bash 中运行:
ssh-keygen -t ed25519 -C "wsl-ssh-key"  # 推荐使用 ed25519 算法
  • 默认保存路径:C:\Users\你的用户名\.ssh\id_ed25519(私钥)和 id_ed25519.pub(公钥)。
  • 不要设置密码(直接回车跳过),否则仍需交互输入。

2. 将windows上的公钥复制到 WSL2 的 authorized_keys

在 Windows 查看公钥内容:

cat ~\.ssh\id_ed25519.pub

复制输出的内容(以 ssh-ed25519 开头的一行)。

在 WSL2 中粘贴到 ~/.ssh/authorized_keys:

mkdir ~/.ssh
echo "粘贴的公钥内容" >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys  # 必须限制权限

5. 配置 Windows SSH 客户端

确保私钥被自动加载

编辑 C:\Users\你的用户名\.ssh\config(没有则新建):

Host wsl2
    HostName localhost
    User 你的WSL2用户名
    Port 22
    IdentityFile ~/.ssh/id_ed25519
    IdentitiesOnly yes

修复 WSL2 的 ~/.ssh 权限

chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

测试连接:

ssh wsl2  # 直接使用配置的别名

若无提示输入密码,则配置成功!

成以上步骤后,即可通过 SSH 稳定访问 WSL2 环境。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • centos 6.9 升级glibc动态库的详细过程

    centos 6.9 升级glibc动态库的详细过程

    glibc是gnu发布的libc库,即c运行库,glibc是linux系统中最底层的api,几乎其它任何运行库都会依赖于glibc。这篇文章主要介绍了centos 6.9 升级glibc动态库的详细过程,需要的朋友可以参考下
    2019-11-11
  • Linux 内存获取方法详解

    Linux 内存获取方法详解

    文章详细介绍了多种Linux内存获取工具和方法,包括LiME、AVML、fmem等,以及在虚拟化环境和紧急响应场景下的应用,文章还强调了内存获取的最佳实践,如权限要求、系统影响和法律合规性,并推荐LiME作为主流工具,需要的朋友可以参考下
    2025-12-12
  • 解密 Linux 版本信息的方法

    解密 Linux 版本信息的方法

    这篇文章主要介绍了解密 Linux 版本信息的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-07-07
  • Ubuntu 16.04安装Apache Tomcat的方法

    Ubuntu 16.04安装Apache Tomcat的方法

    Apache Tomcat是Java Servlet和Java Server Pages技术的开源软件实现。可以使用OpenJDK tomcat运行你的Java应用。Apache Tomcat安装方法大家都不是很清楚,下面小编给大家介绍下Ubuntu 16.04安装Apache Tomcat的方法
    2016-10-10
  • Linux查看系统资源(CPU、内存、磁盘和网络)的常用命令大全

    Linux查看系统资源(CPU、内存、磁盘和网络)的常用命令大全

    本文系统介绍了Linux系统中监控CPU、内存、磁盘和网络四大核心资源的常用命令,文章通过具体命令示例和输出解析,希望可以帮助读者快速掌握系统资源监控技巧,为性能优化和故障排查提供实用指导
    2026-05-05
  • Linux中SELinux三种模式的启动、关闭与查看方式

    Linux中SELinux三种模式的启动、关闭与查看方式

    这篇文章主要介绍了Linux中SELinux三种模式的启动、关闭与查看方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-02-02
  • Linux动态库.so找不到符号表的排查指南

    Linux动态库.so找不到符号表的排查指南

    本文详细探讨了Linux下C/C++开发中动态库符号找不到(undefinedsymbol)问题的排查思路与最佳实践,从原理到工具逐一分析,通过梳理常见错误形态、系统化排查流程及典型案例,帮助开发者快速定位并解决实际问题,需要的朋友可以参考下
    2026-05-05
  • Linux输出输入重定向、tee命令使用及说明

    Linux输出输入重定向、tee命令使用及说明

    本文介绍了Linux中的输出重定向、输入重定向及tee命令,输出重定向包括覆盖、追加、管道方式;输入重定向包括基本输入重定向、多行文本重定向、字符串重定向,tee命令可将数据输出到屏幕和文件,支持追加、忽略中断信号等
    2026-04-04
  • linux文件管理命令实例分析【显示、查看、统计等】

    linux文件管理命令实例分析【显示、查看、统计等】

    这篇文章主要介绍了linux文件管理命令,结合实例形式分析Linux文件管理的显示、查看、统计等相关操作命令使用技巧,需要的朋友可以参考下
    2020-03-03
  • CentOS7搭建gerrit 代码审查服务方法

    CentOS7搭建gerrit 代码审查服务方法

    下面小编就为大家分享一篇CentOS7搭建gerrit 代码审查服务方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-03-03

最新评论