字节笔记本字节笔记本

WSL2 安装 SSH服务配置远程登录

2024-03-26

本文介绍了如何在WSL2中安装和配置SSH服务,包括卸载和重新安装SSH服务、编辑配置文件、重启服务、设置开机自启动,以及在Windows上配置端口转发和防火墙,最后进行本地和远程连接测试。

WSL2 安装 SSH服务

卸载现有的SSH服务(如果有)

apt remove openssh-server

重新安装SSH服务

apt install openssh-server

编辑SSH配置文件 打开/etc/ssh/sshd_config文件,并进行以下修改:
设置SSH服务的监听端口,例如:Port 2222
允许使用用户名和密码登录,设置:PasswordAuthentication yes
如果需要,允许远程root用户登录,设置:PermitRootLogin yes
保存并退出编辑器。

  • 重启SSH服务
service ssh restart
  • 设置开机自启动 在 /etc/init.wsl 文件中添加:
service ssh start

在Windows上配置端口转发和防火墙

查看WSL的IP地址 首先,安装 net-tools:

apt install net-tools

然后,运行 ifconfig 查看WSL的IP地址。
设置端口转发 打开PowerShell并运行以下命令:

netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=2222 connectaddress=[WSL_IP] connectport=2222

将 [WSL_IP] 替换为你从 ifconfig 获取的WSL IP地址。

配置Windows防火墙 在PowerShell中运行:

netsh advfirewall firewall add rule name=WSL2 dir=in action=allow protocol=TCP localport=2222

测试连接

本地连接测试 在PowerShell中运行:

ssh root@localhost -p 2222

这应该允许你通过SSH连接到本地WSL实例。
远程连接测试 使用另一台机器(例如,你的Mac电脑)尝试SSH连接到你的Windows机器的IP地址和指定端口:

ssh username@Windows_IP -p 2222