1. 项目概述为什么选择Ubuntu与SSH如果你手头有一块树莓派想把它变成一个稳定、可远程管理的微型服务器或开发环境那么给它安装一个Ubuntu Server系统并配置好SSH服务几乎是所有进阶玩法的第一步。这不仅仅是“点亮”设备更是为后续所有项目——无论是搭建个人网站、部署家庭自动化、运行机器学习模型还是作为轻量级数据库服务器——打下坚实的基础。我之所以推荐Ubuntu是因为它作为最流行的Linux发行版之一拥有极其庞大的社区支持和软件生态遇到问题几乎都能找到现成的解决方案。而SSHSecure Shell则是你远程管理这台“小电脑”的生命线一旦配置好你就不再需要为它连接显示器、键盘和鼠标通过任何一台电脑的网络终端就能轻松操控。这个过程听起来可能有点技术性但别担心它远比想象中简单。本质上它就是三个核心步骤准备系统镜像并写入SD卡 - 首次启动并完成基础系统配置 - 开启并加固SSH服务。我会带你一步步走完并分享我这些年从树莓派Zero到树莓派5上反复安装系统积累下来的实操心得和避坑指南。无论你是刚接触树莓派的新手还是想换掉默认Raspberry Pi OS的老玩家这篇流程都能让你少走弯路。2. 核心工具与材料准备工欲善其事必先利其器。在开始刷机之前确保你手头有以下几样东西这能避免过程中因缺少工具而中断。2.1 硬件清单核查首先是最基本的硬件树莓派主板任何型号均可从经典的3B到性能强劲的5代。不同型号主要影响Ubuntu镜像的选择和最终性能。MicroSD卡这是树莓派的“硬盘”。容量建议至少16GB速度推荐Class 10或UHS-I及以上。低速卡会严重拖慢系统运行和安装软件的速度。我吃过亏用一张老旧低速卡光是系统更新就花了半个多小时。SD卡读卡器用于将你的电脑和MicroSD卡连接起来以便写入系统镜像。电源适配器务必使用官方推荐或质量可靠的5V电源。供电不足是树莓派运行不稳定的头号元凶可能导致莫名其妙的死机或SD卡损坏。网络连接树莓派需要通过网线推荐或Wi-Fi连接到互联网以下载更新和软件。对于首次设置强烈建议使用网线直连路由器这比配置Wi-Fi要稳定和简单得多。一台个人电脑用于下载镜像、烧录SD卡以及后续通过SSH连接树莓派。Windows、macOS或Linux系统均可。注意在首次启动配置完成前你不需要为树莓派准备HDMI显示器、USB键鼠。这正是配置SSH的目的——实现无头Headless启动。2.2 软件工具选型软件方面我们需要两个核心工具Ubuntu Server for Raspberry Pi 镜像去哪里下访问Ubuntu官方为树莓派定制的页面通常搜索“Ubuntu Raspberry Pi”即可找到。这里提供了为不同树莓派硬件优化的镜像。怎么选根据你的树莓派型号选择对应的镜像。例如对于树莓派4/5选择ubuntu-24.04-live-server-raspi.img.xz这样的LTS长期支持版本。LTS版本提供5年支持更稳定适合做服务器。我的选择理由我通常选择Ubuntu Server而非桌面版。因为对于服务器应用图形界面GUI是多余的资源消耗。Server版更精简、更安全将所有资源留给后台服务。SD卡烧录软件Windows/macOS用户Raspberry Pi Imager是官方工具也是我最推荐给新手的。它界面友好自动下载镜像、验证、烧录一气呵成还能在烧录前预配置Wi-Fi、SSH、主机名等极大简化了流程。高级用户/全平台BalenaEtcher同样优秀界面简洁烧录可靠。Linux命令行用户直接使用dd命令但需要格外小心因为操作不当有擦除整个电脑硬盘的风险。实操心得对于绝大多数用户尤其是在Windows或macOS下直接使用Raspberry Pi Imager是最佳选择。它的“高级选项”在工具中按CtrlShiftX开启允许你在烧录前就写入Wi-Fi密码和开启SSH实现真正的“开箱即用”免去了首次启动后还要接显示器操作的麻烦。3. 系统镜像烧录与预配置详解这是整个流程中唯一需要在你的个人电脑上完成的步骤也是最关键的一步。操作正确与否直接决定了树莓派能否成功启动。3.1 使用Raspberry Pi Imager进行“一站式”烧录这里以Raspberry Pi Imager为例展示最省心的流程下载并安装Imager从树莓派官网下载对应你电脑系统的Imager并安装。选择操作系统启动Imager点击“选择操作系统”。滚动找到“Ubuntu”在子菜单里你会看到针对不同树莓派型号的优化版本选择与你硬件匹配的Ubuntu Server LTS版本。如果列表里没有你也可以选择“使用自定义镜像”指向你手动下载的.img.xz文件。选择存储设备插入你的MicroSD卡Imager通常会自动识别。请再三确认选择的是你的SD卡盘符而不是电脑的内部硬盘进入核心预配置点击右下角的齿轮图标或按CtrlShiftX打开“高级选项”。这里是精华所在设置主机名比如my-raspberry-pi。这将是你的树莓派在网络中的名字。启用SSH勾选“启用SSH”。为了安全建议选择“使用密码身份验证”并设置一个强密码。你也可以选择“使用公钥身份验证”这更安全但需要你已有SSH密钥对。配置Wi-Fi可选但推荐填写你的Wi-Fi国家如CN、SSID和密码。即使你打算用网线预先配置Wi-Fi也是个好备份。设置地区信息配置时区如Asia/Shanghai和键盘布局避免后续手动调整。配置用户设置你的用户名和密码。记住这个密码它将用于SSH登录和sudo提权。写入镜像确认所有设置后点击“写入”。软件会先下载镜像如果未本地缓存然后进行烧录和验证。整个过程可能需要10-20分钟取决于你的网速和SD卡速度。避坑指南烧录失败如果卡在验证阶段失败最常见的原因是SD卡质量问题或接触不良。尝试换一个读卡器或换一张卡。“高级选项”设置未生效确保在点击“写入”前已经设置并保存了高级选项。Imager会将配置以特定文件格式写入SD卡的启动分区FAT32格式树莓派首次启动时会读取这些文件。3.2 手动烧录与配置备用方案如果你使用Etcher或dd命令手动烧录了.img文件那么预配置就需要在烧录完成后手动操作SD卡烧录完成后电脑会识别出SD卡的两个分区一个小的FAT32启动分区一个大的EXT4根分区。进入那个小的FAT32启动分区在Windows下是一个可读写的盘符。启用SSH在该分区根目录下新建一个名为ssh的空文件注意无任何扩展名。树莓派启动时检测到这个文件就会自动启用SSH服务。配置Wi-Fi在同一分区新建一个名为user-data的文件对于Ubuntu Cloud-Init或wpa_supplicant.conf文件对于传统方法但Ubuntu Server更常用Cloud-Init。以Cloud-Init为例user-data内容模板如下#cloud-config hostname: my-raspberry-pi timezone: Asia/Shanghai users: - name: ubuntu passwd: $6$加密后的密码哈希$ ssh-authorized-keys: - ssh-rsa AAAAB3NzaC1yc2E...你的公钥内容 sudo: [ALL(ALL) NOPASSWD:ALL] shell: /bin/bash注意手动创建user-data需要生成密码哈希和配置公钥对新手较复杂。这正是推荐使用Imager工具的原因——它帮你自动化了这一切。4. 首次启动与基础系统配置将配置好的SD卡插入树莓派接通电源和网线树莓派的指示灯会开始闪烁。第一次启动会花费较长时间可能2-5分钟因为系统需要扩展文件系统、应用预配置并完成初始化。4.1 获取树莓派的IP地址要远程连接你必须知道树莓派在你的局域网中的IP地址。有几种方法路由器管理后台查看这是最可靠的方法。登录你家路由器的管理界面通常地址是192.168.1.1或192.168.0.1在“已连接设备”或“DHCP客户端列表”中查找你设置的主机名如my-raspberry-pi或设备名为“ubuntu”的设备其对应的IP地址就是目标。使用网络扫描工具在电脑上使用arp -aWindows或nmap -sn 192.168.1.0/24需要安装nmap来扫描局域网内的设备。如果配置了mDNS如果你的网络支持可以直接使用主机名加.local域名访问例如ssh ubuntumy-raspberry-pi.local。这在macOS和许多Linux发行版上开箱即用Windows可能需要安装Bonjour服务。实操心得我习惯在路由器里为树莓派的MAC地址设置一个静态IP绑定。这样它每次获取到的IP地址都是固定的以后连接就再也不需要查找了。你可以在树莓派启动并获取到IP后进入路由器设置页面进行绑定。4.2 首次SSH连接与登录拿到IP地址后假设为192.168.1.100就可以在你的电脑上打开终端Windows可使用PowerShell或Windows Terminal进行连接。如果你在Imager中设置的用户是ubuntu那么命令是ssh ubuntu192.168.1.100如果是自定义的用户名如pi则替换ubuntu。首次连接时会看到关于“主机真实性”的警告这是因为本地电脑从未连接过这个新服务器。输入yes继续。然后输入你在Imager中设置的密码。如果一切顺利你将看到类似ubuntumy-raspberry-pi:~$的提示符恭喜你已经成功登录到树莓派的Ubuntu系统内部常见问题如果连接被拒绝或超时请按以下步骤排查确认IP地址是否正确。确认树莓派已启动完成。观察ACT灯是否规律闪烁。确认SSH服务已开启。检查SD卡启动分区是否有ssh文件。检查网络确保电脑和树莓派在同一个局域网子网内。检查防火墙Ubuntu Server默认的ufw防火墙是关闭的但如果之前开启过需要放行22端口sudo ufw allow 22。5. 系统初始化优化与安全加固成功登录后先别急着装软件。进行以下几项初始化设置能让系统更顺手、更安全。5.1 更新系统软件包这是保持系统稳定和安全的首要任务。依次执行sudo apt update # 刷新软件包源列表 sudo apt upgrade -y # 升级所有可升级的软件包 sudo apt dist-upgrade -y # 处理有依赖关系的升级更彻底这个过程会下载并安装所有更新可能需要一段时间取决于网络速度。5.2 修改默认密码并创建新用户可选但推荐如果你使用的是默认的ubuntu用户虽然密码是自定义的但为了安全最好修改一下密码passwd按照提示输入当前密码和新密码。更进一步的安全做法是创建一个新的管理员用户并禁用默认的ubuntu用户sudo adduser your_new_username # 创建新用户按提示设置密码等信息 sudo usermod -aG sudo your_new_username # 将新用户加入sudo组然后使用新用户重新SSH登录确认sudo权限正常后可以锁定默认用户sudo passwd -l ubuntu # 锁定ubuntu用户禁止其密码登录注意禁用默认用户前务必确保新用户可以正常通过SSH登录并使用sudo。否则你可能把自己锁在系统外面。5.3 配置SSH密钥登录强烈推荐使用密码登录SSH容易受到暴力破解攻击。使用SSH密钥对公钥和私钥进行认证安全性有质的提升。在本地电脑生成密钥对如果还没有ssh-keygen -t ed25519 -C your_emailexample.com按提示选择保存路径默认即可和设置密钥密码可为空但设置更安全。这会在~/.ssh/目录下生成id_ed25519私钥和id_ed25519.pub公钥。将公钥上传到树莓派ssh-copy-id your_new_username192.168.1.100输入用户密码后你的公钥就会被添加到树莓派对应用户的~/.ssh/authorized_keys文件中。测试密钥登录ssh your_new_username192.168.1.100如果配置正确你将无需输入密码或只需输入密钥密码直接登录。禁用SSH密码登录高风险操作务必谨慎 确认密钥登录100%可靠后可以编辑SSH服务端配置以禁用密码登录彻底杜绝暴力破解sudo nano /etc/ssh/sshd_config找到以下两行将其值改为noPasswordAuthentication no ChallengeResponseAuthentication no同时确保公钥认证是开启的PubkeyAuthentication yes保存退出CtrlX然后Y回车。重启SSH服务使配置生效sudo systemctl restart sshd重要警告在重启sshd之前请务必打开一个新的终端窗口用密钥登录测试一次确保不会因为配置错误而失去所有访问权限。这是血泪教训。5.4 其他实用基础配置设置时区如果预配置没生效可以手动设置sudo timedatectl set-timezone Asia/Shanghai修改主机名sudo hostnamectl set-hostname new-hostname # 立即修改 # 同时需要编辑 /etc/hosts 文件将旧主机名替换为新主机名 sudo nano /etc/hosts配置静态IP可选对于服务器静态IP更可靠。编辑Netplan配置文件Ubuntu 18.04sudo nano /etc/netplan/50-cloud-init.yaml根据你的网络环境修改例如设置静态地址192.168.1.200network: ethernets: eth0: dhcp4: no addresses: [192.168.1.200/24] gateway4: 192.168.1.1 nameservers: addresses: [192.168.1.1, 8.8.8.8] version: 2应用配置sudo netplan apply。6. SSH服务高级管理与故障排查配置好基础SSH后了解一些高级管理和排查技巧能让你在遇到问题时从容应对。6.1 管理SSH服务状态查看SSH服务状态sudo systemctl status ssh启动/停止/重启SSH服务sudo systemctl start ssh sudo systemctl stop ssh # 危险会断开所有连接 sudo systemctl restart ssh设置SSH服务开机自启sudo systemctl enable ssh默认已是启用状态。6.2 修改SSH服务端口将默认的22端口改为一个非标准端口可以减少自动化扫描脚本的攻击。编辑SSH配置sudo nano /etc/ssh/sshd_config找到#Port 22这一行去掉注释#并将22改为你想用的端口号如2222注意端口范围是1-65535且1024以下端口需要root权限。保存并重启SSH服务sudo systemctl restart sshd务必在防火墙中开放新端口sudo ufw allow 2222/tcp以后连接时需指定端口ssh -p 2222 usernamehostname6.3 常见SSH连接问题排查实录即使按照流程操作你也可能遇到一些问题。下面是我遇到过的典型问题及解决方法问题1连接超时 (Connection timed out)现象ssh命令卡住最后报错Connection timed out。排查思路IP地址错误再次确认树莓派的IP地址是否变化。网络不通从你的电脑ping一下树莓派的IP看是否通。如果不通检查网线、路由器、防火墙包括电脑防火墙和路由器防火墙。SSH服务未运行如果IP能ping通可能是SSH服务没起来。检查服务状态sudo systemctl status ssh。端口被屏蔽检查路由器或上级网络是否屏蔽了22端口或你自定义的端口。问题2连接被拒绝 (Connection refused)现象迅速返回Connection refused错误。排查思路SSH服务未安装或未启动这是最常见原因。确保已安装openssh-server且服务正在运行。防火墙拦截Ubuntu的ufw防火墙可能阻止了SSH端口。运行sudo ufw status查看如果激活了确保有规则允许SSH端口sudo ufw allow ssh或sudo ufw allow 22/tcp。绑定地址限制检查/etc/ssh/sshd_config中是否有ListenAddress指令限制了SSH只监听特定IP。问题3权限被拒绝 (Permission denied)现象输入密码后提示Permission denied (publickey,password).。排查思路用户名或密码错误仔细检查大小写。SSH密钥问题如果你配置了密钥登录可能是私钥路径不对或权限问题。确保本地私钥文件权限为600(chmod 600 ~/.ssh/id_ed25519)。使用ssh -v参数查看详细连接过程定位问题。服务器端authorized_keys文件权限该文件权限应为600其父目录.ssh权限应为700。错误的权限会导致SSH出于安全考虑拒绝使用密钥。问题4登录后立即断开现象成功登录但瞬间又退回到本地终端。排查思路用户shell配置问题检查对应用户的默认shell在/etc/passwd中查看是否有效如/bin/bash。用户家目录或.bashrc等配置文件有语法错误尝试用其他用户登录检查问题用户的配置文件。6.4 保持SSH连接活跃长时间不操作SSH连接可能会被中间路由器或防火墙断开。可以在客户端你的电脑的SSH配置中~/.ssh/config添加以下配置来发送保活包Host raspberrypi HostName 192.168.1.100 User your_username ServerAliveInterval 60 ServerAliveCountMax 3这样客户端会每60秒向服务器发送一个保活信号如果连续3次无响应才会断开连接。7. 后续方向与进阶建议至此你已经拥有了一台可以通过SSH远程安全访问、运行着稳定Ubuntu Server系统的树莓派。它现在是一块干净的画布你可以开始在上面构建任何项目。这里有几个常见的下一步方向部署Web服务器安装Nginx或Apache搭配PHP/Python搭建个人博客或网站。搭建家庭媒体中心安装Jellyfin或Plex管理你的电影、音乐库。作为智能家居中枢安装Home Assistant统一管理各类智能设备。搭建开发环境安装Docker轻松部署各种开发、测试用的服务如MySQL、Redis、GitLab等。文件共享与备份安装Samba让树莓派成为局域网内的文件共享服务器。自动化脚本与监控配置cron定时任务编写Shell脚本安装监控工具如Netdata让树莓派自动运行维护任务。最后再分享一个小技巧对于长期运行的树莓派服务器SD卡的寿命是一个需要考虑的问题。频繁的日志写入会加速SD卡损耗。你可以考虑将日志目录挂载到RAM磁盘tmpfs或者更进阶一点使用USB SSD作为系统盘能极大提升IO性能和可靠性。从Ubuntu 22.04开始官方镜像已经能很好地支持从USB设备启动了这绝对是提升树莓派使用体验的升级选项。