linux之SSH连接WSL2本地环境的操作方式
目录
- 安装WSL
- SSH 连接 WSL2 本地环境的完整步骤
- 1. 安装openssh-server 和 net-tools
- 2. 配置 sshd
- 3. 启动 SSH 服务
- 4. 免密登录
- 5. 配置 Windows SSH 客户端
- 总结
安装WSL
wsl --install -d <发行PeGbr版>
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 http://www.devze.com"wsl-ssh-key" # 推荐使用 ed25519 算法
- 默认保存路径:
C:\Users\你的用户名\.ssh\id_ed25519
(私钥)和id_ed25519.pub
(公钥)。 - 不要设置密码(直接回车跳过),否则仍需交互输入。
2. 将windows上的公钥复制到 WSL2 的 authoPeGbrrized_keys
在 pythonWindows 查看公钥内容:
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 ~/js.ssh/authorized_keys
测试连接:
ssh wsl2 # 直接使用配置的别名
若无提示输入密码,则配置成功!
成以上步骤后,即可通过 SSH 稳定访问 WSL2 环境。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程客栈(www.devze.com)。
精彩评论