
1. 项目概述与核心价值如果你手头有一块树莓派想把它变成一个能随时远程访问、稳定运行的小型服务器或开发环境那么给它安装一个Ubuntu系统并配置好SSH服务几乎是所有后续高级玩法的第一步。这听起来像是基础操作但很多新手朋友在第一次尝试时总会卡在几个意想不到的地方比如系统镜像刷写后无法启动、网络配置不对导致SSH连不上或者权限设置不当导致登录失败。我折腾过不下十块不同型号的树莓派从早期的3B到现在的5代也帮不少朋友解决过类似问题发现一个顺畅的配置流程能省下大量排查时间。这个流程的核心价值在于它为你搭建了一个可远程管理的、基于Linux的独立计算节点。一旦SSH配置成功你就不再需要为树莓派额外连接显示器、键盘和鼠标。你可以从你的主力电脑无论是Windows、macOS还是另一台Linux机器上通过一个终端窗口完全控制这台小巧的设备。无论是部署一个网站后端、搭建一个家庭媒体中心、作为智能家居的中枢还是跑一些自动化脚本都从这里开始。整个过程涉及几个关键环节选择合适的Ubuntu镜像、正确刷写到SD卡、首次启动的基础配置尤其是网络、以及SSH服务的启用与安全加固。每一个环节都有细节需要注意稍有不慎就可能要多花几个小时去排错。2. 核心思路与准备工作拆解在动手之前理清整个流程的逻辑非常有必要。我们的目标是从一张空白的SD卡开始到最终能用SSH从局域网内的另一台电脑登录树莓派的Ubuntu系统。这个过程可以分解为四个清晰的阶段每个阶段都环环相扣。2.1 流程阶段划分与依赖关系首先系统部署阶段。我们需要为树莓派准备一个“大脑”也就是操作系统。树莓派官方有Raspberry Pi OS但对于更熟悉标准Linux发行版或者需要特定软件包兼容性的用户来说Ubuntu Server是一个更通用、资源更丰富的选择。这里的关键是选择与你的树莓派硬件型号完全匹配的Ubuntu镜像比如树莓派4/400/5有专用的64位ARM镜像。下载镜像后需要将其“烧录”到SD卡这个操作会清空卡内所有数据务必提前备份。其次首次启动与网络配置阶段。树莓派第一次启动时需要完成系统初始化。在没有显示器和键盘的情况下即“无头模式”启动我们必须预先在SD卡的特定分区里放置一些配置文件来告诉系统如何连接网络以及允许SSH登录。这是整个流程中最容易出错的一步很多“SSH连接被拒绝”的问题都源于此。接着SSH连接与基础安全配置阶段。一旦树莓派成功启动并接入网络我们就可以从同一局域网内的电脑尝试SSH连接。首次连接通常会涉及主机密钥验证。成功登录后第一件事不是急着装软件而是进行一些基础安全设置比如修改默认密码、更新系统以及可能的话设置SSH密钥登录这比密码登录安全得多。最后服务验证与后续方向。确保SSH服务开机自启并且从不同客户端都能稳定连接。至此一个基础的、可远程管理的Linux环境就搭建完成了你可以以此为起点安装Docker、部署Web服务、配置开发环境等等。2.2 工具与材料清单工欲善其事必先利其器。下面这个清单里的每一项都经我实测是保证流程顺畅的必要条件硬件部分树莓派主板型号不限但推荐树莓派4B 2GB及以上或树莓派5性能更充裕。确保电源适配器能提供足额电流5V/3A以上为佳供电不足会导致各种诡异问题。MicroSD卡容量至少16GB建议32GB或以上。速度是关键请认准Class 10或UHS-I U3/V30 A2等级的卡低速卡会严重拖慢系统体验。一张高速卡和一张低速卡在系统启动和软件安装速度上可能有分钟级的差异。读卡器用于将SD卡连接到你准备镜像的电脑上。网线可选但强烈推荐对于首次配置使用网线将树莓派直接连接到路由器是最稳定可靠的方式能避免无线网络驱动或配置带来的初期麻烦。软件部分在你的工作电脑上操作Ubuntu镜像前往Ubuntu官方服务器镜像站或树莓派专属页面下载对应你树莓派型号的Ubuntu Server镜像例如ubuntu-24.04-live-server-arm64raspi.img.xz。务必选择LTS长期支持版本如22.04或24.04以获得更稳定的更新和维护。镜像刷写工具Raspberry Pi Imager官方出品最省心。它内置了多种系统镜像选择包括Ubuntu并能自动完成刷写和基础配置如Wi-Fi和SSH极大简化了流程。balenaEtcher界面简洁跨平台支持好是刷写各种镜像的通用利器。rufus在Windows平台上是老牌且强大的选择。SSH客户端WindowsWindows 10/11现已内置OpenSSH客户端在PowerShell或CMD中直接输入ssh命令即可。也可以使用PuTTY、Bitvise SSH Client等图形化工具。macOS/Linux系统终端直接自带ssh命令。文本编辑器用于编辑配置文件如VS Code、Notepad、Sublime Text或系统自带的编辑器均可。重要提示在Windows上编辑Linux配置文件时务必使用支持LFUnix行尾格式的编辑器或者确保保存为LF格式否则可能导致脚本无法执行。3. 详细操作步骤解析理论清晰了我们开始动手。我会以使用Raspberry Pi Imager这款最友好的工具为主线进行说明因为它能自动化很多步骤。同时也会补充纯手动配置的方法以便你理解背后的原理。3.1 下载系统镜像与刷写SD卡首先在工作电脑上安装并打开Raspberry Pi Imager。它的界面非常直观。选择操作系统点击“Choose OS”按钮在弹出的列表中滚动找到“Other general-purpose OS” - “Ubuntu”。这里通常会列出多个版本选择适合你树莓派型号的Ubuntu Server XX.XX LTS (Raspberry Pi)。例如对于树莓派4/5就选择64位的版本。如果你有特定的镜像文件.img.xz或.img也可以选择最下方的“Use custom”来手动选择。选择存储设备插入你的MicroSD卡到读卡器并连接电脑。在Imager中点击“Choose Storage”从列表里准确选中你的SD卡盘符。操作前请再次确认盘符因为刷写过程会格式化该设备选错盘符会导致数据丢失。进行高级配置关键步骤这是Raspberry Pi Imager最强大的功能。点击右下角的齿轮图标或“Advanced options”取决于版本会弹出设置窗口。请务必勾选并设置以下选项Set hostname给你的树莓派起个名字比如raspberry-ubuntu。这会在局域网内标识你的设备。Enable SSH必须勾选。选择“Use password authentication”并设置一个强密码。这是你后续SSH登录的密码。切勿使用默认的或过于简单的密码。Configure Wi-Fi如果你计划使用Wi-Fi在这里填入你的Wi-Fi网络名称SSID和密码。国家代码选择正确如CN。对于首次配置我依然建议先使用网线成功后再配置Wi-Fi。Set locale settings设置时区例如Asia/Shanghai。这能保证系统日志和时间戳准确。设置完成后这些配置会被写入到镜像中。开始刷写点击“Write”按钮软件会提示你将擦除SD卡上的所有数据确认后开始刷写。这个过程需要几分钟取决于你的SD卡速度和电脑性能。刷写完成后软件还会进行“验证”步骤确保数据写入无误。至此一张包含了Ubuntu系统和预配置信息的启动卡就制作完成了。注意如果你使用的是其他刷写工具如Etcher刷写完镜像后SD卡在电脑上通常只能看到一个名为system-boot或类似的小分区FAT32格式。此时你需要手动在这个分区根目录下创建两个文件来启用SSH和配置Wi-Fi。3.2 首次启动与网络连接确认将制作好的SD卡从读卡器取出插入树莓派的卡槽。连接网线到路由器然后接通树莓派电源。树莓派上的红色电源灯常亮绿色活动灯不规则闪烁表明系统正在启动。首次启动会进行系统扩展和初始化时间可能稍长约1-3分钟。现在我们需要找到树莓派在局域网中的IP地址。有以下几种方法方法一路由器管理后台查看登录你家路由器的管理界面通常地址是192.168.1.1或192.168.0.1在“已连接设备”或“DHCP客户端列表”中查找你之前设置的主机名如raspberry-ubuntu或设备名为“ubuntu”的条目其对应的IP地址就是树莓派的地址。方法二使用网络扫描工具在电脑上使用arp -a命令Windows/macOS/Linux通用可以查看本地ARP缓存表但可能不够及时。更好的工具是nmap。例如假设你的局域网网段是192.168.1.0/24可以在终端运行nmap -sn 192.168.1.0/24它会列出所有在线设备的IP和MAC地址从中找出树莓派。方法三如果主机名有效在某些支持mDNS的网络中你可以直接使用主机名加.local后缀访问。例如在终端尝试ping raspberry-ubuntu.local。如果通了那么SSH时也可以直接用这个地址。记下你找到的IP地址例如192.168.1.100。3.3 首次SSH连接与系统初始化打开你工作电脑上的终端Windows PowerShell/CMD macOS/Linux Terminal。发起连接使用以下命令将[IP_ADDRESS]替换为你的树莓派IP。ssh ubuntu[IP_ADDRESS]例如ssh ubuntu192.168.1.100ubuntu是Ubuntu Server for Raspberry Pi镜像的默认用户名。系统会提示你确认主机密钥ECDSA key fingerprint输入yes继续。然后会提示你输入密码这就是你在Raspberry Pi Imager高级设置中设定的那个密码。输入时屏幕不会有任何显示这是正常的输完后按回车。成功登录如果一切顺利你会看到命令行提示符变为类似ubunturaspberry-ubuntu:~$的样式这表明你已经成功登录到树莓派的Ubuntu系统中了首要安全操作登录后第一件事立即修改默认用户密码。虽然你设定了密码但养成这个习惯很重要。passwd按照提示输入当前密码然后设置一个全新的、更复杂的密码。更新系统接着更新软件包列表并升级所有已安装的软件到最新版本这能修复已知安全漏洞。sudo apt update sudo apt upgrade -y这个过程会下载并安装更新可能需要几分钟取决于网络速度。4. SSH服务深度配置与优化成功登录只是开始。一个生产环境可用的SSH配置还需要考虑安全性和便利性。默认配置往往不够安全。4.1 配置SSH密钥登录免密码且更安全使用SSH密钥对进行认证比密码更安全且能实现免密码登录方便自动化脚本。在本地电脑生成密钥对如果还没有的话。在你的工作电脑终端执行ssh-keygen -t ed25519 -C your_emailexample.com-t ed25519指定生成更安全、更快的Ed25519算法密钥。也可以使用-t rsa -b 4096。它会询问密钥保存路径直接回车使用默认路径~/.ssh/id_ed25519。询问密码短语passphrase时可以设置一个增加一层保护也可以直接回车留空最方便但安全性稍降。我个人的折中方案是用于高度安全的服务器设置强密码短语用于内网开发板则留空。 生成后你会在~/.ssh/目录下得到两个文件id_ed25519私钥绝不能泄露和id_ed25519.pub公钥。将公钥上传到树莓派。使用ssh-copy-id命令是最简单的方式ssh-copy-id ubuntu[IP_ADDRESS]输入一次树莓派用户的密码即可将本地公钥自动添加到树莓派~/.ssh/authorized_keys文件中。如果ssh-copy-id不可用如某些Windows环境可以手动操作# 在本地电脑查看公钥内容 cat ~/.ssh/id_ed25519.pub # 复制输出的一大串文本然后登录树莓派编辑授权密钥文件mkdir -p ~/.ssh echo “你刚才复制的公钥内容” ~/.ssh/authorized_keys chmod 600 ~/.ssh/authorized_keys chmod 700 ~/.ssh测试密钥登录退出当前SSH会话输入exit然后重新连接ssh ubuntu[IP_ADDRESS]。如果配置正确你将无需输入密码直接登录。4.2 加固SSH服务器配置现在我们来修改SSH服务器的配置文件提升安全性。使用sudo权限编辑配置文件sudo nano /etc/ssh/sshd_config我建议修改以下几处使用nano编辑器找到对应行修改CtrlO保存CtrlX退出禁用root登录找到#PermitRootLogin prohibit-password修改为PermitRootLogin no。这能防止攻击者直接尝试暴力破解root账户。禁用密码认证在密钥登录稳定后找到#PasswordAuthentication yes修改为PasswordAuthentication no。重要这步一定要在确认SSH密钥登录百分之百工作正常后再做一旦禁用密码而你密钥又没配好就会被锁在门外。更改默认端口可选找到#Port 22去掉注释#并将22改为一个1024到65535之间的其他数字例如2222。这能减少针对22端口的自动化扫描攻击。修改后连接命令需加-p参数ssh -p 2222 ubuntu[IP_ADDRESS]。限制用户登录在文件末尾添加一行AllowUsers ubuntu表示只允许用户ubuntu通过SSH登录。如果你创建了其他用户可以在这里添加如AllowUsers ubuntu user2。修改完成后保存文件然后重启SSH服务使配置生效sudo systemctl restart ssh务必打开一个新的终端窗口测试新的配置尤其是新端口和密钥登录是否生效再关闭当前的SSH会话这是防止把自己关在外面的黄金法则。4.3 配置静态IP地址可选但推荐DHCP获取的IP可能会变给SSH连接带来不便。为树莓派设置一个局域网的静态IP更稳妥。Ubuntu 22.04及以后版本使用Netplan进行网络配置。查看当前的网络接口名称ip a通常有线网卡是eth0无线网卡是wlan0。编辑Netplan配置文件文件名可能略有不同sudo nano /etc/netplan/00-installer-config.yaml或类似名称。将内容修改为如下示例假设为有线连接eth0设置静态IP为192.168.1.200网关为192.168.1.1DNS服务器为114.114.114.114和8.8.8.8network: version: 2 ethernets: eth0: dhcp4: no addresses: [192.168.1.200/24] routes: - to: default via: 192.168.1.1 nameservers: addresses: [114.114.114.114, 8.8.8.8]注意YAML格式对缩进非常敏感必须使用空格不能使用Tab键。/24是子网掩码255.255.255.0的CIDR表示法。应用配置sudo netplan apply如果命令执行成功且网络没有断开说明配置生效。你可以用ip a show eth0查看IP是否已变更为你设置的静态IP。5. 常见问题排查与实战心得即使按照步骤操作也可能会遇到问题。下面是我在多次配置中积累的一些典型问题排查思路和技巧。5.1 SSH连接失败问题速查当你遇到ssh: connect to host [IP] port 22: Connection refused或Connection timed out时可以按以下顺序排查问题现象可能原因排查步骤与解决方案Connection refused1. SSH服务未运行。2. 防火墙阻止了22端口。3. 树莓派未成功启动。1.检查服务在树莓派上如果能有办法接显示器运行sudo systemctl status ssh。如果未运行启动它sudo systemctl enable --now ssh。2.检查防火墙Ubuntu默认可能启用ufw。运行sudo ufw status。如果状态是active需要放行SSH端口sudo ufw allow ssh(或sudo ufw allow 22)。3.检查启动观察树莓派指示灯。绿色灯有规律闪烁吗尝试接显示器看启动日志。Connection timed out1. IP地址错误。2. 树莓派与电脑不在同一网络。3. 路由器或物理连接问题。1.确认IP重新在路由器后台或使用nmap扫描确认IP。2.确认网络确保电脑和树莓派连接到同一个路由器/交换机下。3.检查网线/接口换一根网线或换一个路由器网口试试。尝试ping树莓派IPping [IP_ADDRESS]。Permission denied1. 密码错误。2. SSH密钥配置错误。3. 用户被禁止登录如AllowUsers限制。1.核对密码注意大小写或尝试用最初在Imager里设置的密码。2.检查密钥确认本地私钥路径正确公钥已正确添加到树莓派的authorized_keys文件且文件权限为600。3.检查配置查看/etc/ssh/sshd_config中的AllowUsers、PasswordAuthentication设置。Host key verification failed同一IP地址的主机密钥发生了变化例如重装了系统。这是本地已知主机记录冲突。在本地电脑上使用ssh-keygen -R [IP_ADDRESS]命令清除该IP旧的密钥记录然后重新连接。5.2 系统启动与刷写相关故障树莓派绿灯常亮或不闪无法启动这通常是电源问题或镜像刷写出错。首要怀疑对象是电源请使用足额5V/3A的优质电源适配器。其次用官方工具重新格式化SD卡并刷写镜像。刷写后SD卡在电脑上只有一个几十MB的小分区这是正常现象。Ubuntu镜像刷写后在Windows下通常只显示一个名为system-boot的FAT32引导分区。系统主分区ext4格式在Windows下默认不识别。只要刷写过程验证成功就可以将卡插入树莓派启动。首次启动时间极长超过10分钟可能的原因1. SD卡速度太慢换用高速卡。2. 正在从网络获取配置如果使用了cloud-init且网络不畅。3. 文件系统在首次扩展。耐心等待观察绿灯活动情况。如果超过20分钟仍无变化可以考虑重新刷写。5.3 个人实操心得与技巧“无头启动”的终极保障即使你用Imager配置了Wi-Fi和SSH有时也会因为驱动或网络环境问题失败。我的“笨办法”保底方案是刷写完镜像后在电脑上打开SD卡的system-boot分区手动创建一个名为ssh的空文件无任何扩展名再创建一个名为user-data的文件用YAML格式配置网络和用户。这相当于双保险。善用控制台如果你有USB转TTL串口模块可以连接树莓派的GPIO串口在电脑上用串口终端软件如PuTTY、screen、minicom查看启动全过程日志这对于排查无法启动的问题是无价之宝。备份镜像当你在树莓派上完成一系列复杂配置后可以使用dd命令或Win32DiskImager的“Read”功能将整张SD卡备份成一个.img文件。下次需要同样的环境时直接刷写这个备份镜像即可省时省力。性能调优起点对于树莓派4/5在/boot/firmware/config.txt中可以考虑添加over_voltage2和arm_freq2000对于Pi 4等参数进行小幅超频但需注意散热。一个小的散热片或风扇能显著提升持续运行稳定性。连接后的第一组命令除了passwd和apt update我习惯上还会立刻安装几个必备工具sudo apt install -y vim htop net-tools。htop可以直观地监控系统资源net-tools包含了ifconfig等老牌网络工具用着顺手。完成以上所有步骤你的树莓派就已经是一个可以通过SSH稳定、安全访问的Ubuntu服务器了。这个状态下的树莓派就像一台插电即用、功耗极低的小型电脑静静地待在角落随时等待你从任何地方发号施令。无论是作为学习Linux命令的沙盒还是作为跑着各种服务的家庭服务器它都从这里开始。