外网远程访问树莓派 — 超级详细新手教程(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?
- 零配置:两边各装一个软件,自动组网
- 免费:个人用户100台设备免费
- 安全:端到端加密,WireGuard底层
- 不需要公网IP:完美解决NAT问题
- 不需要VPS:省去每月服务器费用
- 全平台支持: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 tailscaled3.4 登录Tailscale账号
sudotailscale up执行后会输出一个链接,类似:
To authenticate, visit: https://login.tailscale.com/a/xxxxxxxxxxxxx3.5 在浏览器中完成认证
- 在你的电脑浏览器中打开上面那个链接
- 选择一种方式注册/登录(推荐用Google或Microsoft账号)
- 点击"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 IP(100.x.x.x),端口填22,点击Open。
无论你在家还是在外面,只要你的电脑开着Tailscale,就能连上!
5.2 使用Windows自带SSH
Windows 10/11自带SSH客户端,在PowerShell中直接:
ssh你的用户名@100.x.x.x5.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配置文件。
解决:
- 确认
C:\Users\你的用户名\.ssh\config文件中有RaspberryPi-Tailscale条目 - 重启Trae IDE
- 或者选择 “Add New SSH Host…” 手动输入连接命令
问题3:连接超时
原因:Tailscale可能没有建立P2P直连,走了中继。
解决:
- 先在PowerShell中
ping 100.x.x.x确认Tailscale网络通畅 - 确认Windows端Tailscale客户端已开启
- 确认树莓派端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 IP(100.x.x.x:5900),回车连接。
就这么简单!Tailscale把外网变成了"虚拟局域网",所有操作和在家一样。
八、手机远程控制树莓派
8.1 安装Tailscale手机版
| 平台 | 下载方式 |
|---|---|
| Android | Google Play搜索"Tailscale",或访问 https://tailscale.com/download/android |
| iOS | App Store搜索"Tailscale" |
8.2 登录并连接
- 打开Tailscale App,登录同一个账号
- 开启VPN连接(Android需要确认VPN权限)
- 安装任意SSH客户端(推荐Termius)或VNC客户端
- 用
100.x.x.x连接树莓派
九、常见问题
Q1:Tailscale免费吗?有什么限制?
个人用户免费,最多100台设备、3个用户。对于个人使用完全够用。
Q2:Tailscale安全吗?
非常安全。底层使用WireGuard协议,端到端加密。即使Tailscale公司也无法看到你的数据。数据传输是P2P的,不经过第三方服务器。
Q3:Tailscale IP会变吗?
一般不会变。Tailscale为每个设备分配的IP是相对固定的,除非你删除设备重新加入。
Q4:树莓派重启后Tailscale会自动启动吗?
会。我们在安装时已经用systemctl enable设置了开机自启。
Q5:Tailscale连接不上怎么办?
- 检查树莓派端Tailscale是否运行:
sudo systemctl status tailscaled - 检查两端是否登录了同一个账号:
tailscale status - 尝试重新登录:
sudo tailscale logout && sudo tailscale up - 检查网络是否阻止了UDP 41641端口
Q6:速度怎么样?
在P2P直连模式下,速度取决于两端网络的上传带宽。通常SSH操作非常流畅,VNC桌面操作也基本可用。如果无法P2P直连(走DERP中继),速度会慢一些。
Q7:中国能用Tailscale吗?
能用。Tailscale在香港等地有DERP中继服务器。但连接稳定性可能受网络环境影响。如果遇到问题,可以考虑自建DERP服务器或使用FRP方案。
十、命令速查表
| 操作 | 命令 |
|---|---|
| 安装Tailscale | curl -fsSL https://tailscale.com/install.sh | sh |
| 启动服务 | sudo systemctl start tailscaled |
| 开机自启 | sudo systemctl enable tailscaled |
| 登录 | sudo tailscale up |
| 登出 | sudo tailscale logout |
| 查看状态 | tailscale status |
| 查看Tailscale IP | tailscale 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且了解安全风险的人
