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