如何在局域网外SSH远程访问连接到家里的树莓派?

本文详细介绍了如何在iOS开发之外,通过SSH连接和cpolar工具在任何地点访问家中的树莓派,包括启用SSH、查找IP地址、安全登录以及配置cpolar进行内网穿透和远程SSH访问的步骤,提醒读者修改默认密码以提高安全性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在这里插入图片描述

​ iOS开发上架主页
在强者的眼中,没有最好,只有更好。
移动开发领域优质创作者,阿里云专家博主

这篇文章主要也是讲解树莓派+cpolar组合的作用,可以实现:

  • 如何在 Raspberry Pi 中启用 SSH
  • 如何通过 SSH 连接到 Raspberry Pi设备
  • 如何远程在任何地点访问家中的树莓派

在使用树莓派 (Raspberry Pi) 可以做的所有事情中,将其用作为家庭网络中的服务器非常流行。微小的占地面积和低功耗使其成为运行轻量级服务器的完美设备。

在这种情况下,您应该可以做的一件事是在 树莓派 (Raspberry Pi) 上运行命令,而无需插入显示器、键盘、鼠标,也不必每次都将自己移动到树莓派(Raspberry Pi) 所在的位置。

您可以通过从任何其他计算机、笔记本电脑、台式机甚至手机通过 SSH(安全外壳)登录您的 Raspberry Pi 来实现这一点。让我告诉你怎么做。

如何通过 SSH 连接到树莓派

img

我假设您在 Pi 上运行 Raspbian 并已通过以太网或 WiFi 成功连接到网络。重要的是,您的 Raspberry Pi 已连接到网络,否则您将无法通过 SSH 连接到它(抱歉我说得太明显了)。

步骤1. 在 Raspberry Pi 上启用 SSH

SSH 在 Raspberry Pi 中默认处于禁用状态,因此您必须在全新安装 Raspbian 后打开 Pi 时启用它。

首先通过导航菜单转到 Raspberry Pi 配置窗口。

img

  • 树莓派菜单,树莓派配置

现在,转到接口选项卡,启用 SSH 并重新启动您的 Pi。

img

在树莓派上启用 SSH

您还可以在不通过终端的情况下启用 SSH。只需输入命令 sudo raspi-config 然后转到高级选项以启用 SSH。

步骤2. 查找树莓派的 IP 地址

在大多数情况下,您的 Raspberry Pi 将被分配一个本地 IP 地址,看起来像 192.168.x.x 或 10.x.x.x。您可以使用各种 Linux 命令来查找 IP 地址。

我在这里使用的是旧的 ifconfig 命令,但您也可以使用 ip address

ifconfig

img

树莓派网络配置

此命令显示所有活动网络适配器及其配置的列表。第一个条目(eth0)显示 IP 地址为 192.168.9.36,这是有效的。我使用以太网将我的 Raspberry Pi 连接到网络,因此它在 eth0 下。如果您在名为“wlan0”的条目下使用 WiFi 检查。

您还可以通过其他方式找到 IP 地址,例如检查路由器/调制解调器上的网络设备列表。

步骤3. SSH 到你的树莓派

现在您已经启用了 SSH 并找到了您的 IP 地址,您可以继续从任何其他计算机通过 SSH 连接到您的 Raspberry Pi。您还需要树莓派的用户名和密码。

默认用户名和密码是:

  • 用户名:pi
  • 密码:raspberry

如果您更改了默认密码,请使用新密码而不是上述密码。理想情况下,您必须更改默认密码。在过去,恶意软件感染了数千台使用默认用户名和密码的Raspberry Pi。

在要通过 SSH 连接到 Pi 的计算机上打开终端(在 Mac 和 Linux 上),然后键入以下命令。在 Windows 上,您可以使用像 Putty 这样的 SSH 客户端。

Windows用户安装SSH客户端:

如果您使用的是windows,你需要在电脑上安装PuTTY这样的SSH客户端,a free SSH and telnet client for Windowswww.putty.org/,或者百度安装。

下载完成之后,打开PuTTY,然后在session中的“Host Name”中输入树莓派的IP地址,然后点击"open",即可连接树莓派了。

img

第一次你会看到一个警告,点击 Accept 按钮。

img

提示输入登录用户名: pi

输入密码(默认为:raspberry )

现在,输入密码并按回车键。

img

通过SSH登录成功。

Mac和Linux用户:

在这里,使用您在上一步中找到的 IP 地址。

ssh pi@192.168.x.x

注意:确保您的 Raspberry Pi 和您用于通过 SSH 连接到 Raspberry Pi 的计算机连接到同一网络。

img

通过终端SSH

第一次你会看到一个警告,输入 yes 并按回车键。

img

输入密码(默认为‘raspberry’)

现在,输入密码并按回车键。

img

通过SSH登录成功

成功登录后,您将看到 Raspberry Pi 的终端。现在,您可以通过此终端远程(在当前网络内)在您的 Raspberry Pi 上执行任何命令,而无需物理访问您的 Raspberry Pi。

步骤 4. 在任何地点访问家中的树莓派

仅在家中同一局域网络访问树莓派有局限性,且一旦树莓派在家中的IP变化,如果有一天我们想在办公室的位置想访问树莓派怎么办?那我们现在就解决。

4.1 安装 Cpolar

cpolar是一款内网穿透工具,可以将您的内网站点暴露到公网上,使所有人可以访问到你的站点。也可以TCP的方式将您的ssh端口映射到公网地址端口上。

  • cpolar一键安装脚本:(国内用户)
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
  • 或短链接安装方式:(国外用户)
curl -sL https://git.io/cpolar | sudo bash
  • 查看cpolar版本信息
cpolar version

如果正常显示,则安装成功,如图:

img

4.2 cpolar进行token认证

如果您还没有cpolar账号,请去cpolar官网注册并登录后台获取认证token

cpolar authtoken xxxxxxxxxxxxxxxxxx

4.3 配置cpolar服务开机自启动

  • 配置cpolar开机自启动
sudo systemctl enable cpolar
  • 守护进程方式,启动cpolar
sudo systemctl start cpolar
  • 查看cpolar守护进程状态
sudo systemctl status cpolar

img

如图,状态为active, 说明启动状态成功

cpolar会默认安装两个样例隧道,一个是Website隧道指向http 8080端口,一个是ssh隧道,指向tcp 22端口。

4.4 查看映射到公网的隧道地址

我们登录cpolar后台–>状态,查看一下ssh隧道映射的公网地址:

img

4.5 ssh公网远程访问树莓派

ssh pi@1.tcp.vip.cpolar.cn -p 20013

由于我们的本地22端口到了公网被映射到了20013端口,所以,ssh命令需要加-p参数,后面加公网隧道端口号

img

登录成功了!现在,您可以在家里,或者学校,或者办公室,手机4G终端网络任意地方访问您的树莓派!

4.6 修改树莓派默认密码(可选)

上文提到,默认密码是不安全的,尤其是您将树莓派暴露在公网地址之上时,建议修改密码

passwd

img

系统提示输入当前密码,(默认为‘raspberry’) 然后重复输入新密码,即可。

此外,您还可以设置 SSH 密钥,这样您就不必每次通过 SSH 登录时都输入密码,但那是完全不同的主题。

转载自cpolar极点云文章:如何在局域网外SSH远程访问连接到家里的树莓派?](https://www.cpolar.com/blog/ssh-remote-raspberry-pi)
在这里插入图片描述

<think>好的,用户的问题是“iPhone不在同一局域网如何远程访问树莓派”。我需要详细分析这个问题,并给出解决方案。首先,用户可能的情况是,他们有一个树莓派在家庭网络中,而他们希望在出时通过iPhone远程访问它,比如通过SSH或者VNC。这时候不在同一个局域网,所以需要内网穿透或者公网访问的方法。 首先,我需要考虑用户可能的技术背景。他们可能对网络配置有一定了解,但可能不熟悉具体的工具和步骤。所以解释的时候需要尽量详细,但避免使用过于专业的术语,或者在必要时进行解释。 接下来,常见的解决方案有哪些呢?常见的方法包括使用SSH反向代理、内网穿透工具(如frp、ngrok)、VPN(如WireGuard)、DDNS结合端口转发,以及云服务器中转。另,像Tailscale这样的工具也是不错的选择,因为它基于WireGuard,配置相对简单。 需要逐一分析每个方法的优缺点,并给出步骤。例如,DDNS需要路由器支持端口转发,并且用户需要有公网IP,而国内很多宽带没有提供公网IP,所以可能需要其他方法。内网穿透工具如frp需要有一个有公网IP的服务器作为中转,这对于没有服务器的用户来说可能不太方便。而Tailscale或Zerotier这样的工具则不需要公网IP,通过P2P打洞或者中继服务器来实现连接,可能更适合普通用户。 另,用户使用的是iPhone,可能需要推荐相应的客户端,比如在App Store中有Shuttle SSH客户端,或者VNC Viewer,或者Termius。同时,使用Tailscale的话,iPhone需要安装Tailscale应用,并且登录相同的账号。 还需要考虑安全性,比如SSH使用密钥认证,避免使用弱密码,以及使用VPN来加密流量等。每个步骤中的安全措施需要提醒用户,防止被攻击。 可能的陷阱包括:端口转发在路由器上的配置是否正确,防火墙是否阻止了端口,动态DNS的更新是否及时,或者中间服务器的带宽限制导致速度慢。对于这些可能需要给出检查建议,比如测试端口是否开放,查看日志错误等。 用户可能没有提到的深层需求是,希望设置过程尽可能简单,稳定性高,且成本低。所以Tailscale或者Zerotier这样的方案可能更适合,因为它们设置简单,免费层通常足够个人使用,且不需要自己维护服务器。 总结下来,可能的步骤是: 1. 推荐几种方法,如Tailscale、DDNS+端口转发、frp内网穿透、SSH反向代理、VPN。 2. 分别介绍每种方法的步骤,重点推荐Tailscale,因为简单。 3. 提醒安全注意事项。 4. 最后根据用户情况推荐最适合的方案。 需要确认每个步骤的正确性,比如Tailscale的安装命令,是否支持ARM架构的树莓派,以及iPhone客户端的配置步骤。同时,检查是否有更简便的方法,比如使用Zerotier,但Tailscale可能更容易配置。 可能还需要比较不同方法的优缺点,比如DDNS需要公网IP,而其他方法不需要。如果用户没有公网IP,那么DDNS方案不可行,必须使用内网穿透或P2P工具。 最后,确保回答结构清晰,步骤明确,用户能够一步步跟随操作。同时,提供备选方案,让用户可以根据自己的情况选择。</think>要在 iPhone 和树莓派不在同一局域网时实现远程访问,可以通过以下几种方法实现,具体选择取决于你的网络环境和需求: --- ### **1. 使用 Tailscale(基于 WireGuard 的零配置 VPN)** **推荐理由**:无需公网 IP、无需端口转发,设置简单且安全。 #### **步骤**: 1. **在树莓派上安装 Tailscale**: ```bash curl -fsSL https://tailscale.com/install.sh | sh sudo tailscale up ``` 登录你的 Tailscale 账号(首次运行会提示访问链接授权)。 2. **在 iPhone 上安装 Tailscale**: - 从 App Store 下载 Tailscale,登录同一账号。 3. **直接访问树莓派**: - 打开 iPhone 的 SSH/VNC 工具(如 Termius、VNC Viewer),输入树莓派的 Tailscale IP 地址即可。 --- ### **2. 动态域名(DDNS) + 端口转发** **适用场景**:拥有公网 IP 地址(需联系宽带运营商确认)。 #### **步骤**: 1. **设置 DDNS 服务**: - 注册免费 DDNS 服务(如 [No-IP](https://www.noip.com/) 或花生壳)。 - 在路由器或树莓派上配置 DDNS 客户端,绑定域名。 2. **路由器端口转发**: - 进入路由器管理页面,将树莓派SSH(22 端口)或 VNC(5900 端口)映射到公网。 - 例如:部端口 `2222` → 树莓派内网 IP 的 `22` 端口。 3. **iPhone 远程访问**: - 使用 SSH 客户端(如 Termius)连接 `DDNS域名:2222`。 --- ### **3. 内网穿透工具(如 frp/ngrok)** **适用场景**:无公网 IP,需借助第三方服务器中转。 #### **以 frp 为例**: 1. **准备一台公网服务器**(如阿里云、腾讯云)。 2. **在服务器和树莓派上配置 frp**: - 服务器端(frps)配置: ```ini [common] bind_port = 7000 ``` - 树莓派(frpc)配置: ```ini [common] server_addr = 你的服务器IP server_port = 7000 [ssh] type = tcp local_ip = 127.0.0.1 local_port = 22 remote_port = 6000 ``` 3. **iPhone 访问**: - 连接服务器的公网 IP 和 `6000` 端口即可穿透到树莓派。 --- ### **4. SSH 反向代理(通过跳板机)** **适用场景**:有一台可访问的公网服务器。 #### **步骤**: 1. **在树莓派上建立反向 SSH 隧道**: ```bash ssh -NfR 2222:localhost:22 用户名@公网服务器IP ``` 2. **从 iPhone 通过跳板机连接**: ```bash ssh -J 用户名@公网服务器IP:22 pi@localhost -p 2222 ``` --- ### **5. Zerotier(虚拟局域网工具)** **类似 Tailscale**,通过创建虚拟局域网实现直连。 #### **步骤**: 1. 在树莓派和 iPhone 上安装 Zerotier,并加入同一网络 ID。 2. 使用 Zerotier 分配的虚拟 IP 直接访问树莓派。 --- ### **安全提醒**: - **避免暴露敏感端口**:如非必要,不要将树莓派的端口直接暴露到公网。 - **使用密钥认证**:SSH 建议禁用密码登录,改用密钥对。 - **防火墙配置**:仅允许必要的端口通信。 --- ### **推荐方案选择**: - **无技术门槛**:优先选 **Tailscale/Zerotier**,5 分钟内完成配置。 - **有公网 IP**:使用 **DDNS + 端口转发**,延迟更低。 - **有云服务器**:可选 **frp 内网穿透** 或 **SSH 反向代理**。 根据你的网络环境选择最适合的方案即可实现远程访问
评论 110
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不写⁠代码没饭吃

你的鼓励是我最大的动力。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值