树莓派无屏连接实战:手机热点+Advanced IP Scanner实现SSH远程登录
手头只有一台笔记本和一部手机没有显示器也没有网线树莓派怎么连接很多第一次玩树莓派的人都会卡在这一步甚至因此误以为买树莓派必须额外配一块HDMI屏幕。实际上用手机热点 Advanced IP Scanner组合完全可以在无屏环境下解决这个问题而且速度足够快系统烧录好之后从完成预配置到SSH进系统熟练的话5分钟绰绰有余。这套方案尤其适合学生党、出差党以及把树莓派当作开发板做项目的人——你需要的全部设备就是一台手机、一台电脑和一张TF卡。这篇文章不是简单的命令堆砌而是把无屏SSH连接背后的逻辑、写卡阶段的预配置细节、扫描工具的使用原理、以及我亲身踩过的坑都梳理出来。我会把每一步对应到实际截图上应该看到的内容方便你照着核对。准备好了就开始。1. 无屏连接的核心逻辑树莓派开机后到底在做什么1.1 SSH为什么能成为无屏主力方案树莓派本质上是一台完整的Linux电脑只是没有自带屏幕和输入设备。无屏Headless模式下核心问题只有一个如何在没有显示器的情况下和它建立交互通道。SSHSecure Shell就是最主流、最轻量的答案——只要树莓派通电、联网、系统里跑着sshd服务你就能从电脑或手机远程进入它的终端执行任何命令。这里有个容易忽略的知识点现代Raspberry Pi OS默认安装并配置好了openssh-server但出于安全考虑2022年4月之后的官方镜像在首次启动时默认禁用SSH服务。这也就意味着光把系统写进TF卡还不够你必须主动在系统里打开SSH这个开关。这个开关怎么开直接决定了你后期能不能顺利连上。SSH还有一个隐含优势不挑操作系统。Windows、macOS、Linux都有现成的SSH客户端手机上也有一堆优秀App。这意味着你不必为树莓派准备专门的串口调试线或HDMI转接板网络一通剩下的全在命令行里解决。1.2 手机热点在组网里扮演什么角色无屏树莓派需要和电脑处在同一个局域网内才能被SSH访问。最常见的做法是家里有路由器树莓派和电脑都连同一个WiFi。但现实场景往往没这么理想在学校宿舍没有路由器权限、在户外想临时调试、或者树莓派被塞进某个项目里不方便接网线——这时候手机热点就是最灵活的替代品。手机热点本质上是一个微型AP无线接入点它启动后相当于创建了一个小局域网树莓派通过WiFi加入这个网络后会从手机的DHCP服务获得一个IP地址。手机和树莓派、电脑和树莓派之间都处于二层互通状态SSH流量只需要在这一个小网段里走延迟低、不受外网影响。大部分安卓手机热点的默认网段是192.168.43.xiPhone热点则是172.20.10.x具体以你手机关于手机/状态里显示的IP为准。用热点还有个隐藏好处树莓派开机后会主动连上热点的WiFi你甚至不需要去路由器后台找IP直接在手机热点的已连接设备列表里就能确认它是否上线。这在后面排查问题时非常管用。1.3 Advanced IP Scanner解决的是哪个痛点树莓派通过DHCP拿到的IP是动态的而且在无屏状态下你根本不知道它拿到了哪个地址。这就需要一个探测手段扫描当前局域网里所有活跃设备找到那台属于树莓派的主机。Advanced IP Scanner是一个在Windows平台非常成熟的免费局域网扫描工具它不仅能扫出设备的IP和MAC地址还能识别主机名、设备厂商甚至探测开放的端口。这对于定位树莓派来说几乎是量身定做树莓派的默认主机名是raspberrypi网卡MAC地址前缀也带有Raspberry Pi厂商信息扫描结果里通常一眼就能认出来。如果你用macOS或Linux也可以用nmap等替代工具但操作流程和思路完全一致。本文后续默认使用Advanced IP Scanner因为它在Windows上体验最省心。2. 写卡阶段的三步预配置把SSH和WiFi直接塞进系统里2.1 用Raspberry Pi Imager完成官方一条龙预配置现在烧录树莓派系统我强烈建议直接使用官方工具Raspberry Pi Imager不要再用Etcher裸写镜像然后手动改配置文件。原因很简单Imager把SSH开关、WiFi配置、用户名密码这些初始化动作都集成到了写卡流程里你只需在图形界面上点几下它就会自动把配置写入SD卡省去了手动创建配置文件的麻烦也不容易出错。操作流程安装并打开Raspberry Pi Imager选择你的树莓派型号和操作系统。如果是做日常开发选Raspberry Pi OS (32-bit)或Raspberry Pi OS (64-bit)的Lite版无桌面即可后面的一切操作都通过SSH完成如果之后还需要图形界面再装带桌面的版本。选择要写入的SD卡。点击界面右下角的齿轮图标高级选项这一步是核心。在弹窗里完成三件事开启SSH点击Enable SSH并选择Use password authentication或者配置公钥否则默认不开放SSH端口。设置用户和密码新版本系统不再有默认的pi用户必须在这里设置一个用户名比如peter再设置一个密码。这个用户名和密码就是之后SSH登录用的凭证。配置WiFi填写SSID为你的手机热点名称Password为热点密码。建议热点名用英文有的系统对特殊字符处理不友好。点击Write开始烧录等待完成即可。如果你在写卡时截图最终应该能看到类似这样的选项面板SSH开关处显示ON用户名文本框里填了字母密码框里显示圆点无线网络栏里SSID和密码都已填好。只要截图上这四项都有说明预配置没有漏。2.2 老系统手工配置boot分区里的ssh空文件和wpa_supplicant.conf如果你出于某种原因还是想用手动方式配置比如Imager不支持某些自定义镜像方法也很成熟。系统写进TF卡后卡上会有一个FAT32格式的boot分区Windows下可以直接看到并读写文件。完成以下两步第一步在boot分区根目录新建一个没有任何扩展名的空文件命名为ssh。这个文件的作用是告诉系统首次启动后自动启用sshd服务。文件的扩展名和内容都不重要空文件就行。第二步在boot分区根目录新建wpa_supplicant.conf配置文件内容参考ctrl_interfaceDIR/var/run/wpa_supplicant GROUPnetdev update_config1 countryCN network{ ssid你的手机热点名 psk你的热点密码 key_mgmtWPA-PSK }保存后弹出SD卡插进树莓派通电即可。截图的话SD卡boot目录下能看到ssh和wpa_supplicant.conf两个文件并列出现在不完整列表里这就是有效的标志。这里有个非常多人踩的坑wpa_supplicant.conf必须放到boot分区根目录而不是/etc/wpa_supplicant/目录——后者是系统启动后在rootfs里读取的配置。你在Windows下看到的boot分区才对应树莓派启动时的/boot/firmware所以文件位置放错系统根本不会读取。另外文件换行符尽量保持LF用记事本编辑有可能导致解析失败推荐用VS Code或Notepad改完再保存。2.3 用户账户和系统版本带来的隐藏变数2022年9月之后的官方镜像删除了默认pi用户这是一个影响很大的变化。很多旧教程让你用piraspberrypi去登录在新系统上会直接提示用户不存在。如果你用的Imager预配置那就必须在SSH连接时使用你创建的用户名比如peter192.168.x.x。如果用的老镜像或者像Ubuntu Server这种其他系统默认用户名往往是ubuntu需要你在烧录时或者官方文档里确认。另外Bookworm版本的Raspberry Pi OS默认网络管理已经切换到了NetworkManager和老系统的dhcpcd行为有差异。这影响的是后续固定IP的做法具体在最后一部分讲。这一步你先知道即可不用记。3. 手机热点组网与Advanced IP Scanner扫描定位现场实操3.1 开启热点的设置细节与树莓派通电后的等待实操开始。先打开手机热点建议在热点设置里把频段固定为2.4GHz而不是5GHz。原因很务实树莓派Zero、3B等老型号不支持5GHz即使你用4B或52.4GHz的穿墙和兼容性也更好。在户外或室内信号一般的情况下2.4GHz的连接稳定性反而更高SSH连接对丢包率比较敏感。热点开好后给树莓派通电。这里要注意电源质量树莓派4B/5在无屏状态下虽然负载不高但劣质电源也可能导致WiFi模块工作不稳定出现反复掉线。通电后等待30秒到1分钟让系统完成首次启动。然后打开手机的热点设置页面查看已连接设备列表——如果树莓派成功连上WiFi你会看到列表里多了一台设备。这一步虽然不起眼却是整个方案里最有效的启动状态确认法看到设备数1说明系统已经跑起来并且网络通了接下来扫描才有意义。3.2 Advanced IP Scanner扫描范围如何设置回到电脑上下载安装Advanced IP Scanner。它有两种版本安装版和便携版建议用便携版免安装某些需要临时拿来用的场景很方便。打开软件后界面很简洁顶部有一个IP范围输入框。关键来了扫描范围怎么填你需要先看手机的IP。在安卓上进入设置 → 关于手机 → 状态信息能看到类似192.168.43.1这样的IP地址iPhone在设置 → 无线局域网 → 点击热点网络信息里也能找到路由器的IP。这个IP就是手机热点的网关地址也是整个小局域网的起点。假设手机IP是192.168.43.1那么树莓派拿到的IP一定在192.168.43.2到192.168.43.254之间。所以扫描范围填192.168.43.1-192.168.43.255然后点击Scan按钮。十几秒后结果列表会列出所有活跃设备。这一条反映了核心的操作逻辑先定位自己所在的网段再让工具去扫这个网段方向对了才能快速锁靶。3.3 如何从扫描结果里精准认出树莓派扫描结果出来之后不要急着SSH先学会认设备。正常情况下你会看到电脑自己的IP因为电脑也连在同一热点下。手机热点网关的IP一般是192.168.43.1。树莓派的IP设备名称可能直接显示为raspberrypi制造商字段可能显示Raspberry Pi开放端口列里能看到22。如果设备名被自定义过或者扫描工具识别不出厂商还有更可靠的判断方法——看MAC地址。树莓派网卡的MAC地址前三位OUI有固定的几个段常见的有DC:A6:32、B8:27:EB、E4:5F:01、28:CD:C1、D8:3A:DD等都用于Raspberry Pi设备。扫描结果里点开设备详情看MAC地址只要前缀落在这几个范围内基本就能确定是树莓派。对照截图的话Advanced IP Scanner的结果区域应该有类似这样的一行设备名称raspberrypiIP为192.168.43.123MAC地址以B8:27:EB开头开放端口一栏显示22。看到这三要素齐全直接记下IP下一步就可以命令连接了。4. SSH首次登录与终端工具选型从确认指纹到免密优化4.1 各平台SSH客户端怎么选才顺手扫描出IP后SSH连接本身是半分钟的事但选对客户端能让后续操作顺畅很多。我的建议是先用系统自带工具跑通再根据需求决定要不要图形化客户端。Windows 10/11打开PowerShell或Windows Terminal直接输入ssh命令即可系统自带OpenSSH客户端。这是最省事的选择不需要装任何软件。Windows替代方案如果你习惯图形界面可以装PuTTY它把IP、端口、用户名都做成了表单双击填好就能连。但对频繁操作命令行的用户来说PowerShell的可复制性和字体渲染体验其实更好。macOS/Linux直接用内置的Terminalssh命令天然可用无需额外安装。手机端备用JuiceSSH或Termius在紧急情况下用手机App也能登进树莓派改配置。工具对比大概是这样场景推荐工具理由Windows日常调试PowerShell / Windows Terminal自带OpenSSH可与系统集成Windows图形界面需求PuTTY表单化简单老牌稳定macOS / Linux系统Terminal原生ssh命令无额外依赖手机临时登录JuiceSSH / Termius在无电脑环境下应急4.2 首次登录的完整流程与指纹确认意味着什么假设扫描到的树莓派IP是192.168.43.123用户名是peter打开终端输入ssh peter192.168.43.123第一次连接终端会提示确认主机指纹fingerprint问你Are you sure you want to continue connecting (yes/no)?。这是SSH防止中间人攻击的机制——客户端会记住服务器的公钥后续连接时如果公钥变了会主动告警。对于第一次连接理论上应该对照一下指纹但在家庭/热点局域网这种信任环境下你输入yes即可。然后输入你在Imager里设置的密码。这里要提醒一点Linux终端输入密码时不显示任何字符连星号都没有这是正常的不是键盘坏了。输完直接回车出现类似peterraspberrypi:~ $的提示符说明SSH登录成功。截图的话终端顶部应该有peterraspberrypi字样提示符以$结尾——看到这个画面无屏SSH连接就算完整跑通了。进入系统后第一时间改掉弱密码跑一下passwd命令。另外可以用几个命令验证网络状况hostname -I whoami ip routehostname -I会列出当前IPip route能看到默认网关是否指向手机热点的IP。这些都确认无误说明组网链路是健康的。4.3 SSH连接更稳的三个小优化SSH刚连上的时候很顺畅但如果长时间不操作终端很容易卡住不动输入命令也无响应。这是SSH会话保活机制的问题可以用两种方式解决第一种在树莓派的sshd配置里加保活参数。编辑/etc/ssh/sshd_config添加ClientAliveInterval 60 ClientAliveCountMax 3然后重启sshd服务sudo systemctl restart sshd这样服务器每60秒向客户端发送一次保持连接的数据包连接就不容易因空闲被NAT网关或热点踢掉了。第二种如果你不想改全局配置可以在自己电脑的SSH客户端里设置保活。Windows的OpenSSH客户端可以在~/.ssh/config里添加Host raspberrypi HostName 192.168.43.123 User peter ServerAliveInterval 30我更推荐第二种因为它不只在树莓派上生效对家里所有SSH服务器都适用。再往前一步想省去每次输密码的麻烦可以配置SSH密钥登录。在自己电脑上执行ssh-keygen -t ed25519 -C pi-key ssh-copy-id peter192.168.43.123第一条生成密钥第二条把公钥推送到树莓派。之后再次SSH登录系统会直接免密进入。这对手机热点环境下反复掉线重连尤其方便——重连次数多了你就知道少输一次密码意味着什么。5. 连接失败排查实测中最常踩的故障与根因分析5.1 热点设备列表里根本没看到树莓派这是最常见的失败场景。手机热点已开启树莓派通了电但热点设置页面的已连接设备数量始终没有增加。出现这种情况99%是WiFi配置环节出了问题与SSH无关。排查链路应该从写卡阶段开始回看确认wpa_supplicant.conf文件名是否正确。不少人在Windows下改文件时系统默认隐藏扩展名最后存成了wpa_supplicant.conf.txt系统压根识别不了。建议在文件管理器里勾选查看文件扩展名再确认一遍。确认SSID和密码大小写是否和热点完全一致。手机热点名如果带了空格或特殊字符最好在手机里先重命名为纯英文避免WiFi配置解析失败。确认SD卡boot分区文件写入位置是否正确。放到/boot/没问题但如果你解压镜像后用了某些工具挂载到系统里路径会变化写到rootfs目录就不生效了。热点的频段问题。树莓派如果只能2.4GHz而手机热点开的是5GHz频段设备无法连接。切换频段后重启树莓派再观察。如果以上都检查完还是连不上建议直接重新烧录一次系统并且这次用Imager的图形化配置不要手动改文件排除人为因素。很多时候折腾半天配置文件没结果不如重写卡十分钟解决。5.2 热点能看到设备但IP扫描扫不到或SSH连不上设备已经连上热点说明WiFi层是通的。这时候Advanced IP Scanner扫不到大概率是扫描范围填错了。比如手机IP是172.20.10.1iPhone热点常见网段而你还在扫192.168.1.x自然一无所获。先看手机IP再回头检查扫描范围这个顺序别搞反。如果扫描结果里能看到设备但开放端口列表里没有22或者在SSH连接时提示Connection refused那说明树莓派的sshd服务根本没有运行。核心原因就是写卡时没有启用SSH——新系统默认禁用而没有ssh文件或Imager配置的开关系统启动后不会自动拉起sshd。解决办法有两个一是把TF卡重新插到电脑上在boot分区再次创建ssh空文件前提是系统还没完成初始化二是如果你已经能通过串口或其他方式进入系统执行sudo systemctl enable --now sshd手动开启。但对于大多数无屏用户最省心的做法是重新用Imager烧录确保高级选项里的SSH开关是打开的。还有一个容易忽略的情况树莓派首次启动时会做一些磁盘扩展和初始化工作如果SSH请求来得太早系统还没就绪连接会超时。解决方式就是多等30秒再试不要一通电就狂按回车。5.3 热点AP隔离看起来都在网里实际互相不可达这是最隐蔽也最坑的一种情况。有的手机开启热点后默认启用了类似AP隔离或私人网络的功能无线客户端之间无法互相通信。后果就是树莓派和电脑各自都连上了热点也能上网但电脑去ping树莓派的IP永远超时Advanced IP Scanner自然什么都扫不到。这个功能在不同手机上的位置不一样。小米手机在热点设置 → 私人网络里华为叫AP隔离或网络隔离三星则在移动热点 → 配置里。开启状态下客户端之间是隔离的必须关掉这个开关或者换成不限速、不做客户端隔离的模式。你可以先用手机流量上网测试如果手机热点连的树莓派和电脑彼此不可达优先检查这里。为了快速定位这类问题连接前可以先在电脑上ping手机的网关IP比如ping 192.168.43.1通说明电脑到热点的链路OK再观察热点网段和扫描范围是否一致最后再确认隔离选项。按这个顺序排查基本能在半分钟内圈定问题层级。5.4 IP地址变化导致的旧连接失效手机热点重启、树莓派断电重启、DHCP租约到期都可能导致树莓派的IP地址变化。今天SSH连的是192.168.43.123明天可能就变成了192.168.43.78。遇到连接不上第一反应不是改配置而是重新跑一次Advanced IP Scanner看看树莓派当前的实际IP是否和之前记录的一致——我的实际经验里这个原因占了一半以上的突然连不上案例。6. 把临时方案变成日常方案固定IP、替代热点与远程开发闭环6.1 在树莓派里固定IP告别今天扫一个地址明天又变从临时连一次到长期负责一个项目动态IP就会成为麻烦尤其是做小车、智能家居之类的项目时每次重启都要重新扫描定位效率太低。所以建议登录成功后直接把IP固定下来。Bookworm及以上版本的Raspberry Pi OS默认用NetworkManager修改方式如下。首先查看当前网络连接名nmcli con show找到WiFi连接名字通常是预配置的SSID或者类似preconfigured的名称然后执行sudo nmcli con mod 你的连接名 ipv4.addresses 192.168.43.50/24 sudo nmcli con mod 你的连接名 ipv4.gateway 192.168.43.1 sudo nmcli con mod 你的连接名 ipv4.dns 192.168.43.1 8.8.8.8 sudo nmcli con mod 你的连接名 ipv4.method manual这里有几个数值需要根据实际情况替换IP地址要选在热点网段内且不冲突的地址比如.50网关是手机热点的IP安卓热点通常是192.168.43.1iPhone热点是172.20.10.1。设置完成后重启网络或者直接sudo reboot之后树莓派就会固定使用这个IP不再随DHCP租约变化。如果你用的是老系统Bullseye及以前可以通过编辑/etc/dhcpcd.conf固定interface wlan0 static ip_address192.168.43.50/24 static routers192.168.43.1 static domain_name_servers192.168.43.1 8.8.8.8修改后重启网络验证。固定IP这个动作虽然配置简单但它带来的体验改善是质变级的长期连树莓派开发时你不再需要每次做扫描——对比MAC——试SSH这条链路直接输入IP回车省去大量重复操作。6.2 用电脑热点代替手机热点的适用场景手机热点适合户外和临时场景但在家里或办公室如果不想额外占用手机网络完全可以用电脑开热点代替。Windows系统自带移动热点功能在设置里开启后网段通常是192.168.137.xmacOS的互联网共享开启后通常也是类似网段。这种方式的优势在于扫描工具、SSH客户端和热点服务都在同一台电脑上不用在电脑和手机之间来回切换。Advanced IP Scanner的扫描范围直接填192.168.137.1-192.168.137.255操作路径更短。缺点是电脑的无线网卡在开启热点后通常不能再同时连接其他WiFi除非用有线网卡的方式共享网络如果电脑有网线连路由器仍然可以直接开热点分享。这一点决定了它更适合在固定场所使用而不是移动场景。6.3 无屏环境的远程开发闭环SSH之外的配套工具SSH连入只是第一步无屏环境下的日常开发还需要配套几个工具才能形成完整闭环。文件传输上scp命令最直接。从电脑拷贝文件到树莓派scp ./myfile.py peter192.168.43.123:/home/peter/把树莓派上的文件拉回来scp peter192.168.43.123:/home/peter/result.log ./如果你和我一样使用VS Code做开发强烈建议安装Remote-SSH插件。它允许你直接在VS Code里打开树莓派上的项目文件夹写代码、改配置、跑终端都要舒服很多等于把SSH终端和编辑器整合在了一起。这个插件和手机热点组网方式没有任何冲突只要SSH能通它就能用。如果需要图形界面但又不方便接HDMI可以用raspi-config开启VNC服务然后在电脑上用VNC Viewer连接。操作很简单sudo raspi-config进入Interface Options → VNC启用然后从电脑VNC连接树莓派IP即可看到完整桌面。这样即使不带屏幕你也能操作图形界面的应用比如调试OpenCV窗口、配置IDE插件等。说到VNC连接难免会遇到画面不流畅的情况原因和SSH保活一样热点信号不稳定或AP隔离问题都会放大延迟。优先确保手机热点频段固定2.4GHz、AP隔离关闭并将树莓派与手机放在同一房间VNC体验基本能达到可用的流畅度。我在实际项目里把这套流程固化成了一个模板烧录镜像时用Imager预配SSH和WiFi登录后第一件事就是固定IP和改密码之后再经过SCP传代码、VS Code Remote-SSH写程序、VNC处理图形界面需求全程不需要显示器。这套流程说不上多高深但它是无屏开发最低成本的路径尤其是当你手头只有一台手机和电脑时能解决90%以上的第一次连接问题。最后分享一个我自己的习惯每次重刷系统前把Imager里的高级选项配置保存下来以后给新卡烧录时直接复用省得每次重复填。下次遇到树莓派连不上先别怀疑硬件坏了按照扫描失败、端口不通、AP隔离这个顺序排查一遍大概率几分钟就能找到原因。
上一篇/下一篇内容由系统自动关联
返回资讯列表 →