Windows10使用SSH端口转发后无法访问目标主机WebUI如何解决
Windows SSH端口转发无法访问目标WebUI解决方案
- 第一步:验证端口转发监听地址是否异常
Windows 原生OpenSSH默认会优先将转发端口绑定到IPv6本地环回地址::1,Chrome访问时默认优先走IPv4地址127.0.0.1会导致不通。保持SSH连接存活的状态下,新开PowerShell执行命令:netstat -ano | findstr "你的本地转发端口"
如果返回结果中只有[::]:本地端口的监听记录,修改SSH配置文件的LocalForward规则,强制绑定IPv4地址:
重启SSH连接后重试访问。LocalForward 127.0.0.1:本地端口 localhost:目标服务端口 - 第二步:排查Windows Defender防火墙拦截
Windows默认防火墙会拦截陌生程序的端口监听请求,可先临时关闭防火墙测试:
打开设置>更新和安全>Windows安全中心>防火墙和网络保护,关闭当前网络的防火墙后重试访问。如果测试访问正常,添加允许OpenSSH程序入站的防火墙规则,或单独开放你使用的本地转发端口即可,测试完成记得恢复防火墙开启状态。 - 第三步:检查转发规则是否正常加载
给SSH命令加-v参数启动Debug模式,执行:ssh -v -F C:\path\to\config\file 目标主机名
查看运行日志中是否有Local forwarding listening on 127.0.0.1 port 本地端口的相关记录,确认转发规则没有加载失败、端口没有被其他程序占用。如果提示端口已被占用,更换未使用的本地端口修改配置后重试。 - 第四步:校验访问地址正确性
确认目标WebUI的访问协议是HTTP还是HTTPS,不要搞错协议头;如果目标服务部署在子路径下,要补全对应路径再访问。如果还是无法访问,可尝试用curl命令测试连通性,排除浏览器缓存、代理插件的干扰:curl http://127.0.0.1:本地转发端口 - 第五步:更新OpenSSH客户端版本
Windows10预装的旧版OpenSSH存在端口转发相关的已知Bug,执行ssh -V查看版本号,如果版本低于8.0,可通过设置>应用>可选功能找到OpenSSH客户端,卸载后重新安装最新版本即可。
内容的提问来源于stack exchange,提问作者lpcuellar
相关产品推荐
相关产品推荐

