Linux

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > Linux > linux之SSH连接WSL2本地环境

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

作者: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 密钥对

ssh-keygen -t ed25519 -C "wsl-ssh-key"  # 推荐使用 ed25519 算法

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

总结

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

您可能感兴趣的文章:
阅读全文