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 密钥对

  • PowerShellGit 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 环境。

总结

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

相关文章

  • 解密 Linux 版本信息的方法

    解密 Linux 版本信息的方法

    这篇文章主要介绍了解密 Linux 版本信息的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-07-07
  • 在Linux服务器下查看公网IP地址的方法

    在Linux服务器下查看公网IP地址的方法

    在接口对接的时候,很多公司需要对方提供公网ip地址来配置对应的IP白名单,那么在Linux环境下怎么查看对应服务器的公网IP呢,所以本文给大家介绍了在Linux服务器下查看公网IP地址的方法,需要的朋友可以参考下
    2023-12-12
  • linux安装全中文管理面板教程(php+mysql)

    linux安装全中文管理面板教程(php+mysql)

    这篇文章主要介绍了linux安装全中文管理面板教程(php+mysql运行环境),需要的朋友可以参考下
    2014-09-09
  • Linux下查看IP地址不显示解决办法

    Linux下查看IP地址不显示解决办法

    大家好,本篇文章主要讲的是Linux下查看IP地址不显示解决办法,感兴趣的同学赶快来看看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2021-12-12
  • 详解Ubuntu下ssh服务的安装与登陆(ssh远程登陆)

    详解Ubuntu下ssh服务的安装与登陆(ssh远程登陆)

    本篇文章主要介绍了Ubuntu下ssh服务的安装与登陆,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
    2016-11-11
  • 在CoreOS上搭建一个WordPress程序操作实例

    在CoreOS上搭建一个WordPress程序操作实例

    你可能听过服务器操作系统CoreOS的名字,那你试过在上面建立个小程序么?今天,我们就来手把手地教你建立一个简单的WordPress程序
    2014-03-03
  • CentOS7下实现终端输入中文设置详解

    CentOS7下实现终端输入中文设置详解

    这篇文章主要给大家介绍了关于CentOS7下实现终端输入中文设置的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用CentOS7系统具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-07-07
  • Centos7.5配置java环境安装tomcat的讲解

    Centos7.5配置java环境安装tomcat的讲解

    今天小编就为大家分享一篇关于Centos7.5配置java环境安装tomcat的讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03
  • Linux下安装Hadoop集群详细步骤

    Linux下安装Hadoop集群详细步骤

    大家好,本篇文章主要讲的是Linux下安装Hadoop集群详细步骤,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2021-12-12
  • Linux服务器删除文件夹、删除文件、解压命令的方法

    Linux服务器删除文件夹、删除文件、解压命令的方法

    今天小编就为大家分享一篇Linux服务器删除文件夹、删除文件、解压命令的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-07-07

最新评论