Mac通过SSH连接树莓派4失败,请求排查解决
看起来你踩了几个SSH连接的常见坑,我帮你一步步梳理排查思路:
首先提个容易忽略的小细节:你输入的命令里用户名和@IP之间多了空格!比如ssh ubuntu @IP这种写法是错的,正确格式应该是ssh ubuntu@IP(用户名和IP直接连,中间没有空格),这个空格会让系统把@IP当成额外参数,先修正命令格式再试一次?
如果修正后还是连接拒绝,那我们按下面的步骤逐一排查:
1. 确认树莓派的IP地址绝对正确
路由器里显示的设备IP可能有多个,别搞混了。你可以在Mac终端里执行arp -a,扫一下局域网内的所有设备,找到树莓派的MAC地址(通常以B8:27:EB或DC:A6:32开头),对应的IP就是你要连接的目标,确保没输错。
2. 确认SSH服务真的在树莓派上正常运行
你提到手动放置了无扩展名的ssh文件,但可能没生效:
- 把SD卡插回Mac,检查boot分区(FAT32格式的那个)里的
ssh文件还在不在——系统识别到这个文件后,会自动启用SSH服务然后删除它,如果文件没了,说明系统已经处理过; - 要是能挂载树莓派的系统分区,去查看
/etc/ssh/sshd_config配置:- 确认
PasswordAuthentication设为yes(如果你用密码登录的话); - 确认
Port是默认的22(万一被意外修改了呢); - 确认
PermitRootLogin为no(这个是正常默认设置,不用改)。
- 确认
3. 排查Ubuntu防火墙的拦截
Ubuntu 23.10默认可能开启了ufw防火墙,如果没给SSH端口放行,就会直接拒绝连接。你可以给树莓派接个显示器,登录后执行:
sudo ufw status
如果输出显示active,说明防火墙处于启用状态,赶紧添加规则放行SSH:
sudo ufw allow ssh
设置完成后再从Mac端尝试连接。
4. 确认用户名没有搞错
Ubuntu for Raspberry Pi的默认用户名确实是ubuntu,但如果你用Imager的OS自定义功能时手动设置了其他用户名,那得用你当时自定义的那个,别死磕ubuntu。另外,如果你刷系统时没通过Imager设置用户名,Ubuntu会要求你第一次接显示器登录时创建用户,这种情况下SSH肯定连不上。
5. 硬件层面的排查
有时候电源功率不够,树莓派的系统服务会启动异常;或者SD卡存在坏块,导致系统配置没正确生效。可以换个靠谱的USB电源(至少5V 3A),或者换张新的SD卡重新刷系统试试。
备注:内容来源于stack exchange,提问作者curies

