当前位置: 首页 > news >正文

外网远程访问树莓派 — 超级详细新手教程(Tailscale方案)

外网远程访问树莓派 — 超级详细新手教程(Tailscale方案)

适用系统:树莓派(Debian)+ Windows/Mac/Linux/手机
面向读者:零基础新手小白


通过这篇教程,你可以学会:

  • 什么是"外网访问",为什么需要它
  • 6种外网访问技术路径的对比和选择
  • 使用Tailscale实现外网SSH连接树莓派
  • 配置SSH免密登录和快捷别名
  • 通过Trae IDE远程开发树莓派(终极方案)
  • 使用Tailscale实现外网VNC远程桌面
  • 手机也能远程控制树莓派

一、什么是"外网访问"?

1.1 简单理解

你现在在家里,电脑和树莓派连着同一个路由器,这叫局域网(LAN)。在局域网内,你可以用192.168.x.x的IP地址访问树莓派。

但当你出门在外(学校、公司、咖啡厅),你的电脑连的是别的网络,不再和树莓派在同一个局域网里。这时候192.168.x.x就不通了——你需要外网访问

场景网络能否访问树莓派
在家,连同一个WiFi局域网✅ 直接访问
在学校/公司/外面外网❌ 默认不能访问

1.2 为什么不能直接访问?

因为你的家庭路由器有一道"防火墙",它会阻止外部主动连接内部设备。这是安全设计——否则任何人都能连进你的家庭网络。

外网访问的核心问题就是:如何穿透这道防火墙


二、6种技术路径对比

方案难度费用需要什么速度安全性推荐度
Tailscale免费注册账号⭐⭐⭐⭐⭐🏆 最推荐
FRP内网穿透⭐⭐⭐需VPS(约5元/月)一台有公网IP的VPS⭐⭐⭐适合有VPS的人
Cloudflare Tunnel⭐⭐免费域名+CF账号⭐⭐⭐⭐⭐适合有域名的人
路由器端口转发⭐⭐免费公网IP+路由器管理权⭐⭐大概率没有公网IP
WireGuard VPN⭐⭐⭐⭐需VPS一台有公网IP的VPS⭐⭐⭐⭐⭐配置复杂
Ngrok免费(有限制)注册账号⭐⭐⭐免费版限制多

为什么推荐Tailscale?

  1. 零配置:两边各装一个软件,自动组网
  2. 免费:个人用户100台设备免费
  3. 安全:端到端加密,WireGuard底层
  4. 不需要公网IP:完美解决NAT问题
  5. 不需要VPS:省去每月服务器费用
  6. 全平台支持:Windows/Mac/Linux/Android/iOS

Tailscale的工作原理

你的电脑(外面) Tailscale协调服务器 你的树莓派(家里) | | | |--- 1. 我要连树莓派 --->| | | |<--- 2. 我是树莓派 -----| | | | |<-- 3. 这是树莓派的地址->| | | | | |============ 4. 直接建立加密隧道(P2P)============>|

Tailscale的协调服务器只负责"介绍"两个设备认识,实际数据传输是**点对点(P2P)**的,不经过Tailscale服务器,所以速度快且安全。


三、树莓派端安装Tailscale

3.1 SSH连接树莓派

用PuTTY连接你的树莓派(参考第一章VNC教程)。

3.2 一键安装Tailscale

复制以下命令,粘贴到PuTTY中执行:

curl-fsSLhttps://tailscale.com/install.sh|sh

安装过程会自动:

  • 添加Tailscale的软件源
  • 下载并安装Tailscale
  • 注册为系统服务

3.3 启动Tailscale服务

sudosystemctlenabletailscaledsudosystemctl start tailscaled

3.4 登录Tailscale账号

sudotailscale up

执行后会输出一个链接,类似:

To authenticate, visit: https://login.tailscale.com/a/xxxxxxxxxxxxx

3.5 在浏览器中完成认证

  1. 在你的电脑浏览器中打开上面那个链接
  2. 选择一种方式注册/登录(推荐用Google或Microsoft账号)
  3. 点击"Authorize"授权设备加入网络

3.6 查看Tailscale IP

认证完成后,回到PuTTY执行:

tailscaleip-4

会输出一个100.x.x.x的IP地址——这就是你的树莓派在Tailscale网络中的固定IP,以后就用这个IP从外网连接。


四、你的电脑端安装Tailscale

4.1 下载安装

访问 https://tailscale.com/download/windows 下载Windows版安装包,双击安装。

4.2 登录同一个账号

安装完成后,打开Tailscale,用和树莓派同一个账号登录。

4.3 验证连接

打开Windows的PowerShell,执行:

ping100.x.x.x

(把100.x.x.x替换成你树莓派的Tailscale IP)

如果看到回复,说明连接成功!🎉


五、外网SSH连接树莓派

5.1 使用PuTTY连接

打开PuTTY,在Host Name中输入树莓派的Tailscale IP100.x.x.x),端口填22,点击Open。

无论你在家还是在外面,只要你的电脑开着Tailscale,就能连上!

5.2 使用Windows自带SSH

Windows 10/11自带SSH客户端,在PowerShell中直接:

ssh你的用户名@100.x.x.x

5.3 配置SSH免密登录(强烈推荐)

每次SSH连接都要输密码很麻烦,配置免密登录后一秒连接:

5.3.1 检查是否已有SSH密钥

打开PowerShell,执行:

ls~/.ssh/id_rsa

如果文件存在,跳到5.3.3。如果不存在,继续下一步。

5.3.2 生成SSH密钥
ssh-keygen-trsa-b4096

一路回车即可(默认路径、不设密码)。

5.3.3 复制公钥到树莓派
type~/.ssh/id_rsa.pub|ssh你的用户名@100.x.x.x"mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys"

输入一次密码后,以后就再也不用输了!

5.3.4 验证免密登录
ssh你的用户名@100.x.x.x"echo 免密登录成功"

如果不需要输密码就显示"免密登录成功",说明配置完成。

5.4 配置SSH快捷别名(推荐)

每次输入ssh 你的用户名@100.x.x.x太麻烦,可以给连接起个名字:

5.4.1 编辑SSH配置文件

用记事本打开C:\Users\你的用户名\.ssh\config(如果不存在就新建),添加:

Host RaspberryPi HostName 192.168.x.x User 你的用户名 Port 22 IdentityFile ~/.ssh/id_rsa Host RaspberryPi-Tailscale HostName 100.x.x.x User 你的用户名 Port 22 IdentityFile ~/.ssh/id_rsa

⚠️ 把IP和用户名替换成你自己的。RaspberryPi是局域网连接,RaspberryPi-Tailscale是外网连接。

5.4.2 使用别名连接

配置完成后,只需要:

sshRaspberryPi# 局域网连接sshRaspberryPi-Tailscale# 外网连接(通过Tailscale)

简单多了!


六、通过Trae IDE远程开发(终极方案)

这是最强大的方式——直接在Trae IDE中远程编辑树莓派上的代码,就像在本地开发一样!

6.1 前提条件

  • ✅ 树莓派已安装Tailscale并在线
  • ✅ Windows已安装Tailscale并登录同一账号
  • ✅ 已配置SSH免密登录和快捷别名(第五章第3、4节)
  • ✅ 已安装Trae IDE

6.2 连接步骤

第1步:打开Trae IDE

第2步:按Ctrl + Shift + P打开命令面板

第3步:输入Remote-SSH,选择“Remote-SSH: Connect to Host…”

第4步:在主机列表中选择RaspberryPi-Tailscale

如果列表中没有,选择“Add New SSH Host…”,手动输入:

ssh 你的用户名@100.x.x.x

第5步:Trae会打开一个新窗口,左下角显示绿色的>< SSH: RaspberryPi-Tailscale,表示连接成功

第6步:点击文件 → 打开文件夹(或按Ctrl + K, Ctrl + O),输入/home/你的用户名,点击确定

第7步:左侧资源管理器显示树莓派的文件系统,现在你可以直接在Trae中编辑树莓派上的文件了!🎉

6.3 遇到的问题和解决方法

问题1:连接后终端是树莓派,但看不到文件系统

原因:SSH连接成功后,Trae只是建立了远程终端,但没有打开远程文件夹。

解决:必须手动文件 → 打开文件夹,输入树莓派上的路径(如/home/你的用户名),才能在左侧看到文件系统。

⚠️ 这一步很容易忽略!很多人以为连接成功就能看到文件,实际上还需要"打开文件夹"。

问题2:主机列表中没有RaspberryPi-Tailscale

原因:Trae可能没有读取到SSH配置文件。

解决

  1. 确认C:\Users\你的用户名\.ssh\config文件中有RaspberryPi-Tailscale条目
  2. 重启Trae IDE
  3. 或者选择 “Add New SSH Host…” 手动输入连接命令
问题3:连接超时

原因:Tailscale可能没有建立P2P直连,走了中继。

解决

  1. 先在PowerShell中ping 100.x.x.x确认Tailscale网络通畅
  2. 确认Windows端Tailscale客户端已开启
  3. 确认树莓派端Tailscale服务在运行:sudo systemctl status tailscaled

6.4 本地工作空间 vs 远程工作空间

概念说明文件位置
本地工作空间你平时打开的Windows文件夹Windows电脑上
SSH远程工作空间通过SSH连接的树莓派环境树莓派上

两者是独立的。在远程工作空间中,你编辑的是树莓派上的文件;在本地工作空间中,你编辑的是Windows上的文件。

6.5 日常使用方式

在家开发: 方式1:ssh RaspberryPi(局域网,最快) 方式2:Trae → Remote-SSH → RaspberryPi 在外面开发: 方式1:ssh RaspberryPi-Tailscale(外网,通过Tailscale) 方式2:Trae → Remote-SSH → RaspberryPi-Tailscale

七、外网VNC远程桌面

7.1 确保VNC服务已开启

如果还没开启VNC,参考第一章教程先开启。

7.2 使用VNC Viewer连接

打开VNC Viewer,在地址栏输入树莓派的Tailscale IP100.x.x.x:5900),回车连接。

就这么简单!Tailscale把外网变成了"虚拟局域网",所有操作和在家一样。


八、手机远程控制树莓派

8.1 安装Tailscale手机版

平台下载方式
AndroidGoogle Play搜索"Tailscale",或访问 https://tailscale.com/download/android
iOSApp Store搜索"Tailscale"

8.2 登录并连接

  1. 打开Tailscale App,登录同一个账号
  2. 开启VPN连接(Android需要确认VPN权限)
  3. 安装任意SSH客户端(推荐Termius)或VNC客户端
  4. 100.x.x.x连接树莓派

九、常见问题

Q1:Tailscale免费吗?有什么限制?

个人用户免费,最多100台设备、3个用户。对于个人使用完全够用。

Q2:Tailscale安全吗?

非常安全。底层使用WireGuard协议,端到端加密。即使Tailscale公司也无法看到你的数据。数据传输是P2P的,不经过第三方服务器。

Q3:Tailscale IP会变吗?

一般不会变。Tailscale为每个设备分配的IP是相对固定的,除非你删除设备重新加入。

Q4:树莓派重启后Tailscale会自动启动吗?

会。我们在安装时已经用systemctl enable设置了开机自启。

Q5:Tailscale连接不上怎么办?

  1. 检查树莓派端Tailscale是否运行:sudo systemctl status tailscaled
  2. 检查两端是否登录了同一个账号:tailscale status
  3. 尝试重新登录:sudo tailscale logout && sudo tailscale up
  4. 检查网络是否阻止了UDP 41641端口

Q6:速度怎么样?

在P2P直连模式下,速度取决于两端网络的上传带宽。通常SSH操作非常流畅,VNC桌面操作也基本可用。如果无法P2P直连(走DERP中继),速度会慢一些。

Q7:中国能用Tailscale吗?

能用。Tailscale在香港等地有DERP中继服务器。但连接稳定性可能受网络环境影响。如果遇到问题,可以考虑自建DERP服务器或使用FRP方案。


十、命令速查表

操作命令
安装Tailscalecurl -fsSL https://tailscale.com/install.sh | sh
启动服务sudo systemctl start tailscaled
开机自启sudo systemctl enable tailscaled
登录sudo tailscale up
登出sudo tailscale logout
查看状态tailscale status
查看Tailscale IPtailscale ip -4
查看服务状态sudo systemctl status tailscaled
SSH连接ssh 用户名@100.x.x.x
Ping测试ping 100.x.x.x

十一、其他方案简介(了解即可)

10.1 FRP内网穿透

需要一台有公网IP的VPS作为中转服务器。树莓派主动连接VPS,你的电脑也连接VPS,通过VPS中转数据。

  • 优点:稳定,不受Tailscale网络限制
  • 缺点:需要VPS(每月约5元),数据经过VPS中转
  • 适合:有VPS或对Tailscale稳定性不满意的人

10.2 Cloudflare Tunnel

Cloudflare提供的免费隧道服务,需要域名。树莓派主动连接Cloudflare,你通过域名访问。

  • 优点:免费,稳定,支持HTTP/HTTPS
  • 缺点:需要域名,主要支持Web服务,SSH需要额外配置
  • 适合:有域名且主要访问Web服务的人

10.3 路由器端口转发

在路由器管理页面设置端口转发,将外部请求转发到树莓派。

  • 优点:简单直接,速度快
  • 缺点:需要公网IP(大部分家庭宽带没有),有安全风险
  • 适合:有公网IP且了解安全风险的人
http://www.jsqmd.com/news/740228/

相关文章:

  • ASIC与SOC核心技术差异及选型指南
  • Vin象棋:5分钟掌握基于YOLOv5的中国象棋AI连线工具终极指南
  • 为什么92%的Python跨端项目在macOS M-series上编译失败?Apple Silicon专用符号表修复方案曝光
  • 如何用WebPlotDigitizer快速从图表图像中提取数据:完整指南
  • 3步快速解锁鸣潮120FPS:WaveTools开源工具箱帧率优化指南
  • 长春本土资深写字间托管服务商核心能力全景呈现 - 奔跑123
  • Cocos Creator 实现汉字找茬小游戏(完整源码 可直接上线)
  • applera1n终极指南:解锁iOS设备激活锁的深度技术解析
  • 告别卡顿:深入 SystemUI 的 Dagger2 依赖注入,如何优化你的大型 Android 应用架构
  • 5分钟免费搭建你的第二大脑:Zettelkasten卡片盒笔记系统终极指南
  • python gunicorn
  • 体验Taotoken控制台在API密钥管理与访问控制上的便捷性
  • 保姆级教程:给你的Python requests加上‘网络韧性’,告别烦人的Retry Warning
  • golang如何实现即时通讯IM系统_golang即时通讯IM系统实现方案
  • 用LabVIEW给ESP32做个远程监控面板:TCP通信+OLED显示温度(附完整Arduino代码)
  • OpenClaw 2.6.6 安装避坑 + 必装技能 新手入门教程
  • 如何用AKShare快速获取金融数据?Python量化投资必备工具完全指南
  • 别再死记硬背ASCII码表了!用Python 3.11快速查询与转换字符编码(附实战代码)
  • 微信API开发:iPad协议5分钟搞定全功能
  • Termux里装Linux,proot-distro和GitHub一键脚本哪个更适合你?我两个都试了
  • ThinkPad风扇控制革命:TPFanCtrl2让你的笔记本散热更智能高效
  • 跟着 MDN 学 HTML day_9:(信件语义标记)
  • CTF新手必看:用Stegsolve和010 Editor搞定PNG/JPG隐写,附实战案例
  • python uvicorn
  • WorkshopDL:跨平台轻量级Steam创意工坊模组下载器终极指南
  • face-api.js核心技术深度解析:5个关键架构设计与性能优化实践
  • AlienFX Tools终极指南:500KB替代AWCC,彻底掌控你的Alienware设备
  • ComfyUI-Impact-Pack 终极指南:快速掌握AI图像增强与精细化处理
  • 告别迷茫:TMS320F28377D双核程序的Flash烧写与离线运行全攻略(CCS7.40环境)
  • [实战] 供应链质量管理 (SQM) 数字化:如何从零构建自动化的检验计划与 FAI 流程?