本篇文章主要介绍如何在树莓派Raspberry Pi上启用SSH并结合cpolar内网穿透工具实现公网远程访问本地树莓派。
在使用树莓派 (Raspberry Pi) 可以做的所有事情中,将其用作为家庭网络中的服务器非常流行。微小的占地面积和低功耗使其成为运行轻量级服务器的完美设备。
在这种情况下,您应该可以做的一件事是在 树莓派 (Raspberry Pi) 上运行命令,而无需插入显示器、键盘、鼠标,也不必每次都将自己移动到树莓派(Raspberry Pi) 所在的位置。
您可以通过从任何其他计算机、笔记本电脑、台式机甚至手机通过 SSH(安全外壳)登录您的 Raspberry Pi 来实现这一点。
我假设您在 Pi 上运行 Raspbian 并已通过以太网或 WiFi 成功连接到网络。重要的是,您的 Raspberry Pi 已连接到网络,否则您将无法通过 SSH 连接到它(抱歉我说得太明显了)。
SSH 在 Raspberry Pi 中默认处于禁用状态,因此您必须在全新安装 Raspbian 后打开 Pi 时启用它。
首先通过导航菜单转到 Raspberry Pi 配置窗口。
现在,转到接口选项卡,启用 SSH 并重新启动您的 Pi。
在树莓派上启用 SSH
您还可以在不通过终端的情况下启用 SSH。只需输入命令 sudo raspi-config
然后转到高级选项以启用 SSH。
在大多数情况下,您的 Raspberry Pi 将被分配一个本地 IP 地址,看起来像 192.168.x.x 或 10.x.x.x。您可以使用各种 Linux 命令来查找 IP 地址。
我在这里使用的是旧的 ifconfig
命令,但您也可以使用 ip address
。
ifconfig
树莓派网络配置
此命令显示所有活动网络适配器及其配置的列表。第一个条目(eth0)显示 IP 地址为 192.168.9.36
,这是有效的。我使用以太网将我的 Raspberry Pi 连接到网络,因此它在 eth0 下。如果您在名为“wlan0”的条目下使用 WiFi 检查。
您还可以通过其他方式找到 IP 地址,例如检查路由器/调制解调器上的网络设备列表。
现在您已经启用了 SSH 并找到了您的 IP 地址,您可以继续从任何其他计算机通过 SSH 连接到您的 Raspberry Pi。您还需要树莓派的用户名和密码。
默认用户名和密码是:
如果您更改了默认密码,请使用新密码而不是上述密码。理想情况下,您必须更改默认密码。在过去,恶意软件感染了数千台使用默认用户名和密码的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",即可连接树莓派了。
第一次你会看到一个警告,点击 Accept
按钮。
提示输入登录用户名: pi
输入密码(默认为:raspberry )
现在,输入密码并按回车键。
通过SSH登录成功。
Mac和Linux用户:
在这里,使用您在上一步中找到的 IP 地址。
ssh [email protected]
注意:确保您的 Raspberry Pi 和您用于通过 SSH 连接到 Raspberry Pi 的计算机连接到同一网络。
通过终端SSH
第一次你会看到一个警告,输入 yes
并按回车键。
输入密码(默认为‘raspberry’)
现在,输入密码并按回车键。
通过SSH登录成功
成功登录后,您将看到 Raspberry Pi 的终端。现在,您可以通过此终端远程(在当前网络内)在您的 Raspberry Pi 上执行任何命令,而无需物理访问您的 Raspberry Pi。
仅在家中同一局域网络访问树莓派有局限性,且一旦树莓派在家中的IP变化,如果有一天我们想在办公室的位置想访问树莓派怎么办?那我们现在就解决。
cpolar是一款内网穿透工具,可以将您的内网站点暴露到公网上,使所有人可以访问到你的站点。也可以TCP的方式将您的ssh端口映射到公网地址端口上。
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
curl -sL https://git.io/cpolar | sudo bash
cpolar version
如果正常显示,则安装成功,如图:
如果您还没有cpolar账号,请去cpolar官网注册并登录后台获取认证token
cpolar authtoken xxxxxxxxxxxxxxxxxx
sudo systemctl enable cpolar
sudo systemctl start cpolar
sudo systemctl status cpolar
如图,状态为active
, 说明启动状态成功
cpolar会默认安装两个样例隧道,一个是Website隧道指向http 8080端口,一个是ssh隧道,指向tcp 22端口。
我们登录cpolar后台–>状态,查看一下ssh隧道映射的公网地址:
ssh [email protected] -p 20013
由于我们的本地22端口到了公网被映射到了20013端口,所以,ssh命令需要加-p参数,后面加公网隧道端口号
登录成功了!现在,您可以在家里,或者学校,或者办公室,手机4G终端网络任意地方访问您的树莓派!
上文提到,默认密码是不安全的,尤其是您将树莓派暴露在公网地址之上时,建议修改密码
passwd
系统提示输入当前密码,(默认为‘raspberry’) 然后重复输入新密码,即可。
此外,您还可以设置 SSH 密钥,这样您就不必每次通过 SSH 登录时都输入密码,但那是完全不同的主题。