远程访问
远程访问简介
有时,您需要在不连接显示器、键盘和鼠标的情况下访问 Raspberry Pi。也许 Raspberry Pi 嵌入了机器人或安装在不方便的位置。或者您没有备用显示器。
通过本地网络远程控制
要从本地网络上的其他设备远程控制 Raspberry Pi,请使用以下服务之一:
SSH (Secure SHell)可安全访问 Raspberry Pi 上的终端会话。VNC(Virtual Network Computing )可让您安全地访问 Raspberry Pi 上的桌面屏幕共享。您只需要另一台电脑、本地网络和 Raspberry Pi 的本地 IP地址。Raspberry Pi Connect 可以安全地共享 Raspberry Pi 的屏幕,无需确定本地 IP 地址。
通过本地网络在设备间共享文件
通过 NFS(网络文件系统)、SCP(安全复制协议)、Samba 和 rsync
等服务,你可以在本地网络的设备间共享文件,而无需直接控制远程设备。当你需要从另一台设备访问存储在一台设备上的数据时,这些服务会非常有用。
通过互联网远程控制
要从任何连接到互联网的设备上远程控制 Raspberry Pi,你可以
- 通过开放的互联网、VPN 或使用外部服务(如 RealVNC 的云 VNC Viewer)在 Raspberry Pi 上显示 SSH或 vncVNC。
- 使用由 Raspberry Pi 提供的免费屏幕共享及远程SSH服务 Raspberry Pi Connect。
如何查找IP地址
从另一台机器连接到 Raspberry Pi 的大多数方法都要求您知道 Raspberry Pi 的本地 IP 地址。
任何连接到局域网的设备都会被分配一个 IP 地址。为了使用 SSH 或 VNC 从另一台机器连接到 Raspberry Pi,你需要知道 Raspberry Pi 的 IP 地址。如果连接了显示器,这就很容易了,而且有很多方法可以从网络上的另一台机器远程找到它。
要找到 Raspberry Pi 的本地 IP 地址,请使用以下方法之一。
桌面
将鼠标悬停在系统托盘中的网络图标上,会出现一个工具提示。该工具提示会显示当前连接的网络名称和 IP 地址。
命令行
运行以下命令将你的 IP 地址输出到命令行:
hostname -I
启动输出
如果您在树莓派上使用显示器,并启动到命令行而不是桌面,启动顺序将包括您的 IP 地址,作为登录提示前的最后几条输出信息之一。
网络管理器
您可以使用内置的网络管理器 CLI (nmcli) 访问网络的详细信息。运行以下命令
nmcli device show
您应该会看到与下面类似的输出:
GENERAL.DEVICE: wlan0
GENERAL.TYPE: wifi
GENERAL.HWADDR: D0:3B:FF:41:AB:8A
GENERAL.MTU: 1500
GENERAL.STATE: 100 (connected)
GENERAL.CONNECTION: exampleNetworkName
GENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/2
IP4.ADDRESS[1]: 192.168.1.42/24
IP4.GATEWAY: 192.168.1.1
IP4.ROUTE[1]: dst = 192.168.1.0/24, nh = 0.0.0.0, mt = 600
IP4.ROUTE[2]: dst = 0.0.0.0/0, nh = 192.168.1.1, mt = 600
IP4.DNS[1]: 192.168.1.3
IP6.ADDRESS[1]: ab80::11ab:b1fc:bb7e:a8a5/64
IP6.GATEWAY: --
IP6.ROUTE[1]: dst = ab80::/64, nh = ::, mt = 1024
GENERAL.DEVICE: lo
GENERAL.TYPE: loopback
GENERAL.HWADDR: 00:00:00:00:00:00
GENERAL.MTU: 65536
GENERAL.STATE: 100 (connected (externally))
GENERAL.CONNECTION: lo
GENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/1
IP4.ADDRESS[1]: 127.0.0.1/8
IP4.GATEWAY: --
IP6.ADDRESS[1]: ::1/128
IP6.GATEWAY: --
GENERAL.DEVICE: p2p-dev-wlan0
GENERAL.TYPE: wifi-p2p
GENERAL.HWADDR: (unknown)
GENERAL.MTU: 0
GENERAL.STATE: 30 (disconnected)
GENERAL.CONNECTION: --
GENERAL.CON-PATH: --
GENERAL.DEVICE: eth0
GENERAL.TYPE: ethernet
GENERAL.HWADDR: D0:3B:FF:41:AB:89
GENERAL.MTU: 1500
GENERAL.STATE: 20 (unavailable)
GENERAL.CONNECTION: --
GENERAL.CON-PATH: --
WIRED-PROPERTIES.CARRIER: off
IP4.GATEWAY: --
IP6.GATEWAY: --
此命令将输出树莓派上可访问的各种网络接口的信息。查看 GENERAL.TYPE
行,了解每个块描述的网络接口类型。例如,"ethernet" 指的是设备上的以太网端口,而 "wifi" 指的是某些设备内置的 Wi-Fi 芯片。您可以根据设备访问互联网的方式,查看不同的输出块来查找 IP 地址:
- 如果设备使用 Wi-Fi 连接互联网,请查看 "wifi" 块
- 如果设备使用以太网端口连接互联网,请检查 "ethernet" 块
确定了正确的网络接 口块后,请查找名为 IP4.ADDRESS[1]
的字段以获取 IPv4 地址,或查找 IP6.ADDRESS[1]
以获取 IPv6 地址。您可以忽略这些字段中的斜线和数字(如 /24
)。
在上例中,树莓派使用 Wi-Fi 上网。检查 GENERAL.TYPE
字段为 "wifi "的区块,即可找到 IP 地址。在这种情况下,可以使用 IP4.ADDRESS[1]
字段中的 IPv4 地址访问该设备:192.168.1.42
。
使用mDNS解析raspberrypi.local
在树莓派OS上,Avahi 服务开箱即支持多播 DNS。
如果您的设备支持 mDNS,您就可以使用树莓派的主机名和 .local
后缀来访问它。新安装的树莓派 OS的默认主机名是 raspberrypi
,因此默认情况下,任何运行 树莓派OS的树莓派都会响应以下命令:
ping raspberrypi.local
如果可以连接到 树莓派,ping
会显示其 IP 地址:
PING raspberrypi.local (192.168.1.131): 56 data bytes
64 bytes from 192.168.1.131: icmp_seq=0 ttl=255 time=2.618 ms
如果更改树莓派的系统主机名(例如编辑 /etc/hostname
),Avahi 也会更改 .local
mDNS 地址。
如果不记得树莓派的主机名,但系统安装了 Avahi,则可以使用 avahi-browse 命令浏览局域网上的所有主机和服务。