You need to enable JavaScript to run this app. Windows(WSL)环境下SSH连接被拒,启动SSH服务器报错
优惠活动
大模型
产品
解决方案
定价
更多

Windows(WSL)环境下SSH连接被拒,启动SSH服务器报错

WSL环境SSH连接被拒、sshd启动异常排查方案

核心排查与解决步骤

  • 优先以前台调试模式启动sshd定位根因,不要直接后台启动服务:执行sudo /usr/sbin/sshd -d,终端会直接输出启动过程的卡点、权限校验错误、端口绑定失败等核心报错,是最高效的排查手段
  • 核对22端口占用情况:执行sudo lsof -i :22,若检测到其他进程占用22端口,直接终止占用进程,或修改/etc/ssh/sshd_config文件中的Port配置为未被占用的端口(如2222)
  • 修正SSH相关目录、文件的权限:WSL跨文件系统的权限异常是sshd启动被拦截的高频诱因,依次执行以下命令修正权限:
    • sudo chmod 700 /etc/ssh/
    • sudo chmod 600 /etc/ssh/ssh_host_*_key
    • chmod 700 ~/.ssh
    • chmod 600 ~/.ssh/authorized_keys
  • 匹配当前WSL版本的服务管理方式:旧版WSL默认未启用systemd,直接执行sudo service ssh start常出现服务假启动、进程卡死的问题,二选一处理即可:
    1. 不启用systemd:直接手动执行sudo /usr/sbin/sshd启动服务,验证能否正常绑定端口
    2. 启用systemd支持:编辑Windows用户目录下的.wslconfig文件,添加配置:
      [wsl2]
      systemd=true
      
      保存后在Windows PowerShell执行wsl --shutdown重启WSL实例,再通过sudo systemctl enable --now ssh托管SSH服务
  • 校验防火墙拦截:Windows Defender防火墙默认可能拦截WSL侧映射的SSH端口,需在入站规则中放行对应端口的TCP连接;若使用NAT网络模式的WSL,还需确认WSL的IP与端口映射是否正常
  • 核对sshd核心配置项:检查/etc/ssh/sshd_config中的关键配置是否符合使用需求:
    • 若需密码登录,确认PasswordAuthentication yes未被注释或设为no
    • 确认ListenAddress 0.0.0.0未被修改为仅允许本地回环访问的地址

内容的提问来源于stack exchange,提问作者Uttkarsh Saini

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.11.04 08:15:10