无头模式Raspberry Pi Zero SSH登录异常:笔记本端用户名显示异常导致权限被拒
问题场景描述
我用工作电脑通过IP SSH登录树莓派Zero时,密码提示正常显示:
pi@123.456.78.901's password:
输入密码后能成功登录。
但用自己的笔记本尝试登录同一台树莓派时,密码提示变成了:
abcde/wyatt@123.456.78.901's password:
输入密码后直接报错:
Permission denied, please try again.
我已经试过这些操作但都没用:
- 用Raspberry Pi Imager重新烧录SD卡
- 先用SD Card Formatter格式化卡,再用Raspberry Pi Imager烧录
- 换了另一张闪迪SD卡,结果还是一样
问题分析
出现这个情况的核心原因是你的笔记本SSH客户端默认把本地当前用户名(也就是abcde/wyatt)作为登录树莓派的用户名,而树莓派默认的登录用户名是pi(如果是新版本系统,可能需要自己提前设置用户名),两者不匹配,自然会触发权限被拒的错误。
而工作电脑的SSH客户端要么默认没有携带本地用户名,要么你之前配置过默认用pi登录,所以能正常连接。
解决方案
这里有几个简单的解决方法,你可以按需尝试:
手动指定登录用户名
登录时不要直接输ssh 123.456.78.901,而是明确指定树莓派的用户名:ssh pi@123.456.78.901这样密码提示就会变回正常的
pi@xxx.xxx.xxx.xxx's password:,输入对应密码就能登录了。修改笔记本SSH的默认配置
如果不想每次都手动输用户名,可以修改笔记本的SSH配置文件:- 打开SSH配置文件(Windows一般在
C:\Users\你的用户名\.ssh\config,Linux/macOS在~/.ssh/config),如果没有就新建一个。 - 添加以下内容:
Host raspberrypi HostName 123.456.78.901 User pi
之后你只需要输
ssh raspberrypi就能自动用pi用户登录了,还可以把raspberrypi改成你喜欢的别名。- 打开SSH配置文件(Windows一般在
确认树莓派的用户设置
如果是比较新的树莓派系统(比如Bookworm及以后),默认是需要在烧录时提前设置用户名和密码的。你可以重新烧录时,在Raspberry Pi Imager里点击“齿轮”图标,开启高级选项,设置好自定义的用户名(比如还是pi)和密码,这样后续登录就不会有用户名不匹配的问题了。
备注:内容来源于stack exchange,提问作者Wyatt

