外网远程访问树莓派 — 超级详细新手教程(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路由器管理权快⭐⭐大概率没有公网IPWireGuard VPN⭐⭐⭐⭐需VPS一台有公网IP的VPS快⭐⭐⭐⭐⭐配置复杂Ngrok⭐免费(有限制)注册账号慢⭐⭐⭐免费版限制多为什么推荐Tailscale零配置两边各装一个软件自动组网免费个人用户100台设备免费安全端到端加密WireGuard底层不需要公网IP完美解决NAT问题不需要VPS省去每月服务器费用全平台支持Windows/Mac/Linux/Android/iOSTailscale的工作原理你的电脑外面 Tailscale协调服务器 你的树莓派家里 | | | |--- 1. 我要连树莓派 ---| | | |--- 2. 我是树莓派 -----| | | | |-- 3. 这是树莓派的地址-| | | | | | 4. 直接建立加密隧道P2P|Tailscale的协调服务器只负责介绍两个设备认识实际数据传输是**点对点P2P**的不经过Tailscale服务器所以速度快且安全。三、树莓派端安装Tailscale3.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从外网连接。四、你的电脑端安装Tailscale4.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自带SSHWindows 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.xmkdir -p ~/.ssh cat ~/.ssh/authorized_keys chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys输入一次密码后以后就再也不用输了5.3.4 验证免密登录ssh你的用户名100.x.x.xecho 免密登录成功如果不需要输密码就显示免密登录成功说明配置完成。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 IDE6.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 tailscaled6.4 本地工作空间 vs 远程工作空间概念说明文件位置本地工作空间你平时打开的Windows文件夹Windows电脑上SSH远程工作空间通过SSH连接的树莓派环境树莓派上两者是独立的。在远程工作空间中你编辑的是树莓派上的文件在本地工作空间中你编辑的是Windows上的文件。6.5 日常使用方式在家开发 方式1ssh RaspberryPi局域网最快 方式2Trae → Remote-SSH → RaspberryPi 在外面开发 方式1ssh RaspberryPi-Tailscale外网通过Tailscale 方式2Trae → 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/androidiOSApp Store搜索Tailscale8.2 登录并连接打开Tailscale App登录同一个账号开启VPN连接Android需要确认VPN权限安装任意SSH客户端推荐Termius或VNC客户端用100.x.x.x连接树莓派九、常见问题Q1Tailscale免费吗有什么限制个人用户免费最多100台设备、3个用户。对于个人使用完全够用。Q2Tailscale安全吗非常安全。底层使用WireGuard协议端到端加密。即使Tailscale公司也无法看到你的数据。数据传输是P2P的不经过第三方服务器。Q3Tailscale IP会变吗一般不会变。Tailscale为每个设备分配的IP是相对固定的除非你删除设备重新加入。Q4树莓派重启后Tailscale会自动启动吗会。我们在安装时已经用systemctl enable设置了开机自启。Q5Tailscale连接不上怎么办检查树莓派端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方案。十、命令速查表操作命令安装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 tailscaledSSH连接ssh 用户名100.x.x.xPing测试ping 100.x.x.x十一、其他方案简介了解即可10.1 FRP内网穿透需要一台有公网IP的VPS作为中转服务器。树莓派主动连接VPS你的电脑也连接VPS通过VPS中转数据。优点稳定不受Tailscale网络限制缺点需要VPS每月约5元数据经过VPS中转适合有VPS或对Tailscale稳定性不满意的人10.2 Cloudflare TunnelCloudflare提供的免费隧道服务需要域名。树莓派主动连接Cloudflare你通过域名访问。优点免费稳定支持HTTP/HTTPS缺点需要域名主要支持Web服务SSH需要额外配置适合有域名且主要访问Web服务的人10.3 路由器端口转发在路由器管理页面设置端口转发将外部请求转发到树莓派。优点简单直接速度快缺点需要公网IP大部分家庭宽带没有有安全风险适合有公网IP且了解安全风险的人