You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

设置端口转发后仍无法从Windows主机SSH连接WSL求助

WSL端口转发后SSH连接被拒绝的排查方案

以下是导致Connection refused错误的常见原因及对应解决方法:

1. Windows防火墙拦截了3333端口的入站请求

直接连接WSL内部IP正常,但通过Windows主机IP访问转发端口被拒,最常见的原因是Windows防火墙未放行该端口。解决步骤:

  • 打开「Windows Defender防火墙」→「高级设置」
  • 右键「入站规则」→「新建规则」
  • 选择「端口」类型,下一步后输入3333,选择「允许连接」,完成规则创建。

2. WSL的SSH服务仅监听localhost

如果WSL内的sshd服务仅绑定127.0.0.1,即使端口转发配置正确,外部请求也无法被接收:

  • 在WSL终端编辑/etc/ssh/sshd_config,找到ListenAddress配置项,修改为ListenAddress 0.0.0.0(若该行为注释状态,取消注释后修改)
  • 重启SSH服务:sudo systemctl restart sshd

3. 端口转发规则未正确生效

虽然已配置netsh规则,但可能存在规则未加载或配置错误:

  • 执行netsh interface portproxy show all确认规则存在,且目标IP(172.19.56.231)和端口(22)正确
  • 若规则无效,用管理员权限打开命令提示符,删除旧规则后重新添加:
    netsh interface portproxy delete v4tov4 listenport=3333 listenaddress=0.0.0.0
    netsh interface portproxy add v4tov4 listenport=3333 listenaddress=0.0.0.0 connectport=22 connectaddress=172.19.56.231
    
  • 验证WSL的IP未变动:执行wsl -d "Ubuntu-22.04" hostname -I确认IP仍为172.19.56.231

4. 3333端口未被Windows端口代理监听

执行netstat -ano | findstr :3333检查端口状态:

  • 若没有任何输出,说明端口转发规则未生效,需确保配置命令以管理员权限执行,且Windows的「IP Helper」服务处于运行状态(可在服务列表中检查)

内容的提问来源于stack exchange,提问作者SH Chen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 18:31:49