树莓派4B搭载Ubuntu Core系统通过SSH连接时的认证问题求助
问题描述
我有一台树莓派4B,刷入了ubuntu-core-22-arm64+raspi.img.xz镜像来搭建Ubuntu Core系统,之后做了这些操作:
- 注册了Ubuntu One账号
- 用PuttyGen生成了SSH密钥,并把密钥导入到Ubuntu One账号中
- 启动树莓派,完成WiFi配置后输入了我的Ubuntu One邮箱
但在后续用Putty以user@host格式尝试登录时,遇到了棘手的问题:
- 控制台要求输入密码,但我试过所有记得的密码都无法通过
- 同时收到错误提示:
No supported authentication methods available(Server sent:publickey)
我已经试过论坛上的各种方法,反复重装系统、换了另一个Ubuntu One账号尝试,都没能解决问题,希望能得到一些可行的建议。
我的解决方案建议
兄弟,先别慌,咱们一步步来排查:
检查Putty的私钥配置
Ubuntu Core默认只支持SSH密钥认证,根本没有密码登录的选项,你看到的密码提示大概率是Putty的误导!你用PuttyGen生成密钥后,登录时必须让Putty加载对应的私钥文件:打开Putty,在左侧「Connection > SSH > Auth」里,点击「Browse」选择你用PuttyGen生成的.ppk私钥文件,再尝试登录,别去碰密码输入框。确认导入Ubuntu One的公钥格式
用PuttyGen生成密钥后,一定要复制「Public key for pasting into OpenSSH authorized_keys file」这个框里的完整内容,再粘贴到Ubuntu One的SSH密钥设置里。别直接导出公钥文件再复制内容——Putty导出的公钥文件格式和OpenSSH的不兼容,会导致服务器识别不了你的密钥。核对登录的用户名
绑定Ubuntu One账号后,登录Ubuntu Core的用户名是你Ubuntu One账号的用户名(不是邮箱!),你可以登录Ubuntu One网页端查看自己的账号用户名,然后用用户名@树莓派IP的格式尝试登录,别用模糊的user@host。排查网络与服务就绪状态
- 确保树莓派和你的电脑在同一个WiFi局域网里,直接通过路由器后台查看树莓派的IP地址,用IP地址登录(别用主机名),避免DNS解析出问题。
- 树莓派第一次启动Ubuntu Core会做大量初始化操作,建议等5-10分钟再尝试登录,别刚启动就急着连SSH。
用命令行验证密钥有效性
如果是Windows系统,你可以用Git Bash或者WSL运行命令:ssh -i 你的私钥文件路径 用户名@树莓派IP,这个命令会给出更详细的错误日志,能帮你精准定位问题。
备注:内容来源于stack exchange,提问作者Muhammed Enes Aytemiz

