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

PowerShell无法通过密码认证SSH连接树莓派求助

解决Windows PowerShell SSH密码认证连接树莓派的问题

核心问题定位

你之前误修改了树莓派的SSH客户端配置文件/etc/ssh/ssh_config,但控制SSH服务器认证规则的是服务器端配置文件/etc/ssh/sshd_config,这是导致密码认证始终不生效的关键原因。


解决方案步骤

1. 修正树莓派SSH服务器配置

  • 编辑服务器端配置文件:
    sudo nano /etc/ssh/sshd_config
    
  • 确保以下配置项(去掉开头的#注释,值设为yes):
    PasswordAuthentication yes
    ChallengeResponseAuthentication yes
    PubkeyAuthentication yes  # 可保留公钥认证,若不需要可设为no
    
  • 重点检查:文件末尾是否有Match块(比如Match User pi或Match Group),这类块会覆盖全局配置,确保块内没有禁用密码认证的设置。
  • 重启SSH服务使配置生效:
    sudo systemctl restart sshd
    

2. 验证服务器认证规则

在PowerShell中执行带详细日志的SSH命令,确认服务器已开启密码认证:

ssh -vvv pi@<树莓派IP>

查看日志中类似debug2: server accepts key: ...的部分,确认是否出现password作为允许的认证方式。

3. 强制客户端使用密码认证

执行命令时强制跳过公钥认证,直接尝试密码:

ssh -o PreferredAuthentications=password -o PubkeyAuthentication=no pi@<树莓派IP>

4. 解决Windows端ssh_config权限问题

如果需要使用Windows全局SSH配置:

  • 右键C:\ProgramData\ssh\ssh_config → 属性 → 安全 → 高级
  • 禁用权限继承,删除所有现有权限
  • 添加Administrators和SYSTEM账户,授予完全控制权限
  • 也可改用用户目录下的配置文件C:\Users\<你的用户名>\.ssh\config,该文件权限要求更宽松

5. 网络与防火墙排查

  • 确认树莓派防火墙允许SSH:执行sudo ufw status,若启用防火墙需添加规则sudo ufw allow ssh
  • Windows端需确保出站规则允许22端口(客户端发起连接用出站,入站规则是针对外部连Windows的,你之前可能配置错了方向)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 22:46:09