当前位置: 首页 > ai >正文

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

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

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


1. 安装 openssh-server

sudo apt update
sudo apt install openssh-server -y

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. 将公钥复制到 WSL2 的 authorized_keys

  1. 在 Windows 查看公钥内容:
    cat ~\.ssh\id_ed25519.pub
    
  2. 复制输出的内容(以 ssh-ed25519 开头的一行)。
  3. 在 WSL2 中粘贴到 ~/.ssh/authorized_keys
    mkdir ~/.ssh
    echo "粘贴的公钥内容" >> ~/.ssh/authorized_keys
    chmod 600 ~/.ssh/authorized_keys  # 必须限制权限
    

3. 配置 Windows SSH 客户端

确保私钥被自动加载

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

Host wsl2HostName localhostUser 你的WSL2用户名Port 22IdentityFile ~/.ssh/id_ed25519IdentitiesOnly yes
修复 WSL2 的 ~/.ssh 权限
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

测试连接:

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

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

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

http://www.xdnf.cn/news/2183.html

相关文章:

  • Hbuilder x中的v-bind=““ is not supported.报错解决
  • Dify与n8n深度对比:AI应用开发与自动化工作流的双轨选择
  • 光子计算芯片进展评估:下一代AI算力突破的可能性
  • UML之序列图的执行规范
  • SpringCloud原理和机制
  • 获取房源信息并完成可视化——网络爬虫实战1
  • 29-算法打卡-字符串-KMP算法理论2-第二十九天
  • C语言HashTable基本理解
  • Android studio学习之路(八)---Fragment碎片化页面的使用
  • Git使用教程(含常见问题解决)
  • Raptor码的解码成功率matlab实现
  • STM32的开发环境介绍
  • 嵌入式学习笔记 - SPI通讯协议
  • 内存四区(栈)
  • 深入理解N皇后问题:从DFS到对角线优化
  • 深入剖析 TypeScript 基础类型:string、number、boolean 的声明与使用
  • 神经网络笔记 - 感知机
  • 常用财务分析指标列表
  • JAVA后端开发常用的LINUX命令总结
  • 高精度3D圆弧拟合 (C++)
  • Dijkstra算法对比图神经网络(GNN)
  • c++_csp-j算法 (5)
  • 系统架构设计(三):质量属性
  • 安全生产知识竞赛宣传口号160句
  • Java面向对象(OOP)终极指南:从基础到高级应用
  • OSPF的不规则区域和特殊区域
  • Spring 声明配置类:@Configuration
  • 基于Python+Neo4j实现新冠信息挖掘系统
  • 力扣面试150题--合并两个有序链表和随机链表的复制
  • BT152-ASEMI机器人率器件专用BT152