树莓派5无外设安装Ubuntu:利用cloud-init配置实现SSH远程登录

发布时间:2026/9/7 1:49:35
树莓派5无外设安装Ubuntu:利用cloud-init配置实现SSH远程登录 树莓派5Raspberry Pi 5入手后第一件事大概率是装系统。可最尴尬的场景就是手边没有HDMI显示器、没有USB键盘鼠标只有一台笔记本电脑和一张TF卡。别急着把设备往角落一扔这篇我来把“完全无外设装Ubuntu”这条路走通。核心思路其实不复杂在电脑上把Ubuntu镜像烧进TF卡提前把用户名、密码、网络参数和SSH配置写进系统自带的cloud-init文件里插卡上电后树莓派5自动完成初始化再通过SSH远程登录收尾。这篇文章适合手头有树莓派5但不想再买外设的人也适合准备把树莓派放到角落跑服务、做开发板、搞嵌入式项目的朋友。只要你能完成“读卡写卡”和“SSH连接”剩下的操作基本没有门槛。1. 无外设安装的整体思路与方案选型1.1 为什么“无外设安装”反而是常态很多人以为树莓派必须插着显示器才能用其实真实项目里它更多是充当“无头服务器”的角色——放机柜、挂墙、塞弱电箱跑Docker、写代码、做边缘计算。这种场景下无外设安装不是退而求其次而是唯一合理的方案。树莓派5相比前代性能提升明显但启动逻辑没变TF卡或NVMe里烧好系统通电后自动引导。唯一的问题是系统第一次启动时如果没人告诉它“用户名密码是什么”“Wi-Fi怎么连”“SSH是否开启”它就只能傻等。解决这个问题就是无外设安装的全部关键。无外设安装的两种主流路径使用Raspberry Pi Imager的“高级设置”预配置参数直接写入镜像。烧录Ubuntu Server镜像后手动编辑TF卡系统分区中的cloud-init配置文件。前者对树莓派官方系统Raspberry Pi OS非常友好一个界面就搞定。但对Ubuntu镜像Raspberry Pi Imager的高级选项并不总能生效尤其是用户名和SSH配置有时写进去也没反应。原因在于Ubuntu Server镜像使用的是cloud-init机制它认的是自己的user-data和network-config文件而不是Imager生成的那套配置。所以我更推荐第二条路看懂cloud-init的配置逻辑直接在TF卡里改好参数。这条路一次打通后不管以后是装Ubuntu还是Debian甚至是改装到NVMe硬盘上都能复用同一套方法。1.2 三种方案对比为什么手动改cloud-init最稳这里把常见的三种无外设装Ubuntu的方法放到一起比较大家可以根据自己的设备和习惯选。方案适用场景优点缺点Raspberry Pi Imager 高级设置Raspberry Pi OS图形界面操作简单对Ubuntu镜像支持不完整SSH和账户配置容易失效手动编辑cloud-init文件Ubuntu Server等云镜像完全可控一次会了到处能用需要了解YAML和Linux文件结构第一次上手稍慢通过GPIO串口UART调试任何系统可直接看到控制台输出不依赖网络需要USB转TTL模块接线麻烦不算真正的“无外设”从投入产出比来看手动编辑cloud-init是最推荐的。它不需要额外的硬件不挑电脑系统对网络环境的要求也最低只要求你能找到TF卡的两个分区会新建或修改文本文件。只要你认真把下文配置逐行抄下来大概率一次成功。1.3 Ubuntu Server vs Ubuntu Desktop无外设场景怎么选以树莓派5的配置跑Ubuntu桌面版完全没问题但在无外设安装阶段我强烈建议选择Ubuntu Server版本。原因有三Server版镜像体积小烧录快首次启动耗时短。Server版自带cloud-init配置用户和网络非常直接。远程环境下桌面版意义不大等你SSH连上后再装ubuntu-desktop或远程桌面服务也不迟。热词里很多人搜“搜索输入法”“微信”这类桌面应用那是桌面系统装好之后的事情不在“无外设安装”这个阶段处理。先跑通无外设安装再讨论桌面包这个顺序不会错。另外要注意树莓派5使用的是ARM架构Ubuntu提供的树莓派专用镜像后缀是arm64raspi。不要下成x86版也不要下成树莓派官方系统镜像两个完全是不同的生态。Ubuntu 24.04 LTS是当前最稳妥的选择支持树莓派5的Wi-Fi、蓝牙和板载网卡开箱即用。2. 准备工作与核心原理2.1 硬件清单一张好卡比什么都重要在开始之前先把装备准备好。有些问题不是软件配置能解决的而是硬件本身拉胯。无外设安装Ubuntu到树莓派5需要用到这些东西硬件建议规格说明树莓派54GB / 8GB均可8GB版本跑服务更从容但系统安装方法一致TF卡至少32GBA2读写速度等级树莓派5对TF卡速度更敏感速度太慢会导致开机缓慢、DPI低下读卡器USB 3.0以上烧录大镜像时USB 2.0慢得让人着急电源官方27W USB-C PD电源非官方电源可能触发低电压警告导致树莓派5反复重启网线普通RJ45网线新手第一次无外设安装强烈建议插有线网络关于TF卡多说一句树莓派5支持SDR104模式普通C10卡虽然也能用但写入大文件时能明显感觉到吃力。如果预算允许直接买A2等级的高耐久TF卡避免后续频繁换卡。电源也要单独提醒树莓派5的功耗比前代高不少官方建议5V/5A27WUSB-C电源。很多“装好系统后频繁重启”的问题最后都发现是电源供电不足。别在电源上省钱。2.2 Ubuntu官方镜像怎么选Ubuntu官网的树莓派镜像下载时要注意版本命名。以Ubuntu 24.04 LTS为例树莓派专用镜像文件命名大概是ubuntu-24.04-preinstalled-server-arm64raspi.img.xz其中几个关键词拆开看preinstalled预装系统烧录后直接启动。server服务器版不带桌面。arm64raspiARM 64位架构专为树莓派优化。有些教程会推荐先下载桌面板镜像也就是文件名里带desktop的版本。这种镜像也可以无外设安装但体积大三倍不止而且首次启动时桌面服务会尝试初始化远程环境下反而容易出幺蛾子。所以我个人推荐先装Server版跑通远程登录后再按需装桌面组件。2.3 理解cloud-init无外设安装的底层逻辑如果只跟着教程操作不改思路下次换一张卡、换个镜像可能又不会了。这里花两分钟把cloud-init的原理讲清楚。cloud-init是Ubuntu等发行版在云环境下常用的初始化工具简单理解就是“系统首次启动时自动执行一份配置清单”。它读取两个核心文件user-data定义用户、密码、SSH密钥、软件包等系统初始化内容。network-config定义网卡、DHCP、Wi-Fi连接等网络参数。这两个文件在官方Ubuntu树莓派镜像里已经存在放在TF卡烧录完成后的第一个FAT分区Windows里能看到名字通常叫system-boot中。系统第一次启动时cloud-init就会读取这个分区里的配置并执行执行完成后才开始正常进入登录界面。这就给了我们一个绝佳的无外设安装窗口系统启动之前我们就能在电脑上把这些文件改好。树莓派通电后会自动完成用户创建、网络连接、SSH服务开启等一系列操作。这个过程不需要显示器也不需要键盘只要配置写对了它就是一台“自启动自配置”的服务器。记住一点cloud-init只在首次启动时执行一次。所以烧录后、上电前是唯一不需要额外硬件就能改配置的机会。上电之后再想改用户名、注入SSH密钥就得费更多力气了。3. 完整实操从烧录到SSH登录的每一步3.1 烧录Ubuntu镜像到TF卡先把Ubuntu镜像下载到本地。下载页面选择“Ubuntu Server for Raspberry Pi”对应的24.04 LTS版本即可或者直接搜索ubuntu 24.04 preinstalled server arm64raspi官方下载链接通常是cdimage.ubuntu.com或官网Release页面。镜像格式是.img.xz不需要手动解压烧录工具会自动处理。烧录工具有两个选择Raspberry Pi Imager树莓派官方工具跨平台界面友好。如果手头有现成镜像文件选择“Use custom”手动指定一下就行。balenaEtcher老牌烧录工具界面更简洁适合习惯它的人。我习惯用Raspberry Pi Imager因为它在烧录树莓派镜像时比较稳妥而且也能烧录Ubuntu这种第三方镜像。操作步骤打开Raspberry Pi Imager点击“Choose OS”。选择“Use custom”定位到下载好的Ubuntu镜像文件。点击“Choose Storage”选中你的TF卡弹出警告时确认写入。等进度条跑完Imager会提示“写入完成”。注意这里不建议在Imager界面里直接按快捷键CtrlShiftX去配置高级选项。原因前面提过Imager的高级选项对Ubuntu镜像基本是“白写”它更多是为Raspberry Pi OS设计的。烧录完成后退出Imager接下来的配置我们要手工完成。3.2 挂载TF卡找到system-boot分区烧录完成后把读卡器拔掉再重新插上让电脑重新识别TF卡的分区。此时TF卡一般会出现两个分区system-bootFAT格式包含引导文件、config.txt、cloud-init配置文件。writableext4格式Ubuntu根文件系统Windows下看不到。我们需要编辑的文件都在system-boot分区里。Windows下打开“此电脑”就能看到这个盘符macOS/Ubuntu桌面版也会自动挂载到某个路径。如果打不开说“需要格式化”千万别点格式化那是ext4分区Windows不认是正常的不影响使用。进入system-boot目录后能看到这些关键文件user-datanetwork-configmeta-dataconfig.txtcmdline.txt其中meta-data一般不用动我们要改的是user-data和network-config。先用记事本或文本编辑器打开user-data看看内容里面通常会有一段默认配置。我们不需要清空它只需要在文件里追加或修改自己的配置。3.3 编辑user-data创建用户与注入SSH密钥Ubuntu官方树莓派镜像默认带了ubuntu用户很多老教程会说默认密码是ubuntu首次登录后会强制要求修改。但在无外设安装时我更推荐在user-data里显式设置密码或直接注入SSH公钥省去一连串交互式操作。追加到user-data末尾的配置大致如下#cloud-config users: - name: ubuntu sudo: ALL(ALL) NOPASSWD:ALL groups: users, admin shell: /bin/bash lock_passwd: false plain_text_passwd: 这里改成你自己的强密码 ssh_authorized_keys: - ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAA... youyour-computer逐行解释一下name要配置的用户名我这里沿用默认的ubuntu你也可以换成pi或admin。sudo设置免密sudo权限。无外设场景下sudo还要交互输密码会让远程操作变得很啰嗦这里直接放开权限。lock_passwd一定要设为false表示允许密码登录。如果保持默认true系统会锁定密码登录只允许SSH密钥登录届时没有密钥就进不去了。plain_text_passwd明文密码。cloud-init会用默认的hash方式处理不用自己算加密串。ssh_authorized_keys这是最有用的部分填入你自己电脑的公钥后后续SSH登录就不需要密码了。如何生成自己的SSH密钥在电脑终端里执行ssh-keygen -t ed25519 -C your-emailexample.com一路回车即可生成的公钥位于~/.ssh/id_ed25519.pub。把该文件内容完整复制到ssh_authorized_keys下面。如果同时设置了明文密码和SSH密钥两种方式都能登录。对于只有一台电脑、不需要高安全要求的家庭或学习环境这是最省事的组合。如果你打算把树莓派暴露到公网建议只保留SSH密钥关闭密码登录。3.4 编辑network-config固定有线或配置Wi-Fi网络配置是另一个决定成败的环节。network-config默认内容大概是这样的version: 2 ethernets: eth0: dhcp4: true optional: true wifis: wlan0: dhcp4: true optional: true access-points: 你的Wi-Fi名称: password: 你的Wi-Fi密码初次使用时注意几个细节第一次无外设安装强烈建议插网线。有线网络只要插上就通不需要任何配置树莓派5通过DHCP自动获取IP比Wi-Fi稳定太多。如果必须用Wi-Fi把wifis段落的access-points补全注意YAML缩进和英文引号。Wi-Fi名称和密码中如果有特殊字符用双引号包起来最稳。optional: true这个参数很重要。它表示“即使网络没连上也不用卡住启动流程”。如果不加cloud-init会一直等待网络就绪浪费不少启动时间。有线和Wi-Fi可以同时配置。实际部署中我通常有线Wi-Fi都写在配置里有线优先Wi-Fi作为备份。这样即使网线被误拔系统也可能自动转到Wi-Fi不至于直接失联。改完user-data和network-config后安全弹出TF卡。在Windows下先“弹出”再拔卡避免写入缓存丢失。此时TF卡已经是一张“带有预配置的Ubuntu系统盘”了。3.5 首次上电启动与查找IP把TF卡插入树莓派5背面的卡槽接好网线插上电源。树莓派5没有电源开关插电即开机。先别急着SSH给它1到3分钟的充足启动时间尤其是首次启动时cloud-init要执行用户创建和网络配置有些型号的TF卡读写速度慢这个过程会更久。如何找到树莓派的IP地址有几种方法按易用性排序路由器后台查看登录路由器管理页面在“DHCP客户端列表”里找到主机名包含ubuntu或raspberrypi的设备。mDNS域名解析在支持mDNS的电脑上直接尝试ssh ubuntuubuntu.local。macOS和大多数Linux系统原生支持Windows装过iTunes或Bonjour也能用。局域网扫描工具在电脑上执行nmap -sn 192.168.1.0/24把网段换成你的局域网网段扫描活跃设备根据MAC厂商锁定树莓派。我最常用的是路由器后台和ubuntu.local两个方法大部分家庭网络环境都能跑通。3.6 SSH登录与系统初始化确认IP后在终端里执行ssh ubuntu192.168.x.x如果配置了SSH密钥直接免密登录如果只设置了密码会被提示输入密码。首次连接时会出现host key确认提示输入yes即可。登录成功后先做一个简单体检hostnamectl可以看到系统版本、内核和主机名。接着更新软件源和系统包sudo apt update sudo apt upgrade -y这里有两个小建议。Ubuntu 24.04在树莓派上默认使用的软件源是ports.ubuntu.com如果网络环境访问慢可以换成国内的开源镜像站例如一些高校或云厂商提供的Ubuntu ARM源。注意树莓派属于ARM架构要替换的是ports.ubuntu.com不是archive.ubuntu.com两者对应不同架构改错了会报错。Ubuntu 24.04的软件源配置文件路径是/etc/apt/sources.list.d/ubuntu.sources替换命令类似sudo sed -i s|ports.ubuntu.com|mirrors.你的镜像站地址|g /etc/apt/sources.list.d/ubuntu.sources sudo apt update完成更新后无外设安装阶段的任务基本结束。此时你可以自由安装Docker、Node.js、Python环境等就算想装桌面也可以执行sudo apt install ubuntu-desktop之后接显示器用或配置远程桌面都可以。4. 常见问题与排查技巧实录4.1 SSH连接失败如何逐层排查无外设安装里绝大多数卡壳都发生在“SSH连不上”这一步。按照下面顺序排查能省很多时间。现象可能原因处理方式No route to host树莓派没接网线或不在同一网段检查树莓派网口指示灯确认电脑和树莓派在同一局域网Connection refusedSSH服务未启动确认镜像为Ubuntu Server官方服务器镜像默认会启动SSH但如果改了配置可能被关掉Permission denied用户名或密码错误重新确认user-data中用户名和密码确认lock_passwd为false连接超时防火墙或IP错误用路由器后台或nmap确认IP有些路由器开启了AP隔离有一个容易被忽视的点如果你之前在本机SSH连接过同IP的其他服务器系统会缓存旧的host key。当树莓派使用相同IP时SSH会报REMOTE HOST IDENTIFICATION HAS CHANGED这个提示会直接拒绝连接。解决办法是用ssh-keygen -R 192.168.x.x清除旧记录。4.2 cloud-init配置没生效问题出在哪如果你上电后发现用户名不对、密码不对、网络也没连上最可能的原因是TF卡中的cloud-init文件没有被系统正确读取。检查以下几点确认修改的是system-boot分区下的文件不是writable分区。Windows只能看到system-boot如果看不到说明读卡器或TF卡识别有问题。确认user-data文件第一行是#cloud-config如果文件本身已有其他内容不要覆盖直接追加在末尾。确认YAML缩进正确。cloud-init对缩进极其敏感空格和Tab混用会导致解析失败。写完后建议用支持YAML高亮的编辑器快速看一眼。上电后cloud-init会把执行日志写到/var/log/cloud-init-output.log如果已经能登录系统直接查看这个日志就能定位问题。另外要记住TF卡一旦上电启动过cloud-init就算“执行过了”。修改system-boot里的文件不会再触发执行。如果配置真有问题要么重新烧录要么清理cloud-init状态sudo cloud-init clean --logs sudo reboot不过cloud-init clean在已启动的系统上执行要小心它会把系统恢复到“首次启动待初始化”的状态再重启时会重新应用user-data。4.3 树莓派5反复重启不要先怀疑系统很多人在无外设安装时遇到“系统起来了SSH连上一会儿就断然后树莓派自己重启”的问题。看起来像软件故障其实大概率是硬件层面的供电不足。树莓派5对电压非常敏感如果电源功率不够或线材质量差会出现欠压指示。系统负载稍微一高USB-C电源电压跌落树莓派保护性重启。判断方法有几个如果还能连上SSH执行dmesg | grep -i voltage或vcgencmd get_throttled查看是否有欠压记录。直接更换官方27W电源和高品质USB-C线这是最省事的做法。如果手头有万用表可以测一下USB-C接口的电压是否稳定在5V附近。散热问题也容易混淆。树莓派5的发热量比前代明显无外设被动散热情况下高负载运行可能触发温控降频甚至关断。建议装好系统后把主动散热风扇接上这也是无外设场景下容易被忽略的保障。4.4 无外设环境下“看不见”系统状态怎么办无外设安装最大的困难是缺少“眼睛”——你看不到启动画面、看不到终端输出。SSH连不上时两眼一抹黑。这里分享几个进阶技巧。第一个办法是使用树莓派5的GPIO串口UART连接电脑查看控制台日志。树莓派5的40pin针脚上保留了UART调试口用USB转TTL模块连接对应引脚就能在电脑上看到完整的启动日志和登录提示。这是无外设环境下最硬核也最有效的调试手段但需要买一个几块钱到十几块钱的小模块接线时注意不要接反。第二个办法是提前把TF卡插回电脑查看writable分区中的日志文件。因为Windows不认ext4格式需要借助第三方工具如Linux Reader等才能读取。这在系统启动但无法联网时很管用。第三个办法是找个能接显示器的场合哪怕只有一次把系统跑通后再换到无外设环境。很多朋友第一次接触树莓派强烈建议先借一个显示器完成初始化确认一切正常后再改为“无头”运行。这不丢人反而是最高效的路线。5. 无外设安装完成后的常用配置建议5.1 修改主机名与固定IPSSH登录后第一件建议做的事情是把主机名改成自己看得懂的名字不然局域网里全是ubuntu主机区分起来很痛苦。sudo hostnamectl set-hostname mypi5 sudo sed -i s/127.0.1.1.*/127.0.1.1 mypi5/ /etc/hosts固定IP也很重要。如果路由器DHCP分配IP不稳定重启后树莓派的地址变了你的自动化脚本和端口映射就全乱了。固定IP有两种方式一是在路由器后台绑定MAC地址简单直观二是在Ubuntu里通过netplan配置静态IP。后者适合跨路由器场景参考配置如下network: version: 2 ethernets: eth0: dhcp4: false addresses: - 192.168.1.100/24 routes: - to: default via: 192.168.1.1 nameservers: addresses: - 192.168.1.1 - 223.5.5.5编辑前先备份原文件修改后执行sudo netplan apply使其生效。注意不要把自己锁在门外确认新IP能SSH后再删除旧配置。5.2 更新固件与启用NVMe启动可选树莓派5的EEPROM固件会不定期更新建议在系统装好后执行一次官方固件更新sudo rpi-eeprom-update -a sudo reboot如果你计划后续用NVMe SSD启动树莓派5支持通过PCIe接口外接NVMe硬盘可以提前把EEPROM引导顺序设置为“NVMe优先”或“SD卡优先”在/boot/firmware/config.txt里也能调整相关参数。这一步对无外设安装影响不大但值得提前规划因为之后的系统和数据都要迁移到SSD上晚配置不如早配置。5.3 安装Docker和基础开发工具热词里出现很多关于“Docker安装”“ROS2”的内容在树莓派5的Ubuntu Server上安装Docker非常简单官方脚本一行命令curl -fsSL https://get.docker.com | sudo sh sudo usermod -aG docker $USER退出重新登录后docker命令就不需要加sudo了。安装ROS2、Python环境同理Ubuntu Server本身干净清爽没有桌面管家类软件的干扰很适合作为后续开发环境的基座。写在最后的一点体会这套“无外设安装”的流程我自己实践过很多遍从最早的树莓派3B到现在的树莓派5都适用差异只是镜像版本和Wi-Fi芯片类型。踩过的坑基本集中在三处一是电源供电不足导致各种诡异重启二是cloud-init的YAML缩进写错导致配置不生效三是第一次启动时等得不够耐心误以为卡死就提前断电。这三点只要注意无外设安装的成功率非常高。另外想给新手一个建议哪怕你手头暂时没有显示器也别急着买一堆外设。树莓派的正确打开方式本来就偏向“无头服务器”借助SSH远程管理才是常态。把这条无外设路线走通后面你玩Docker、搭NAS、做智能家居中枢都会顺手很多。

相关新闻