您可以使用 ssh 为物联网 (IoT) 开发板和英特尔 XDK IoT Edition 之间创建安全的连接。这种安全连接为开发系统与物联网开发板之间的通信进行加密。此外,您还可以防止无权通过 ssh 访问物联网开发板的他人访问应用后台程序。如欲了解如何更新应用后台程序软件,并利用这项安全特性,请参阅更新后台程序。更新后的后台程序仅支持安全连接。
英特尔 XDK IoT Edition 与英特尔物联网开发人员套件一同发布。它提供了一款完备的解决方案,以创建和测试针对英特尔物联网平台(比如英特尔Galileo 和英特尔Edison 开发板)的应用。本页可确保您完全熟悉英特尔XDK IoT Edition 入门中的设置说明。
<strong>借助用户名和密码安全连接物联网设备</strong>
1、在英特尔 XDK IoT Edition 的左下角点击“IoT Device”下拉菜单,并选择“Add Manual Connection”。“Connect to IoT Device”对话框打开。
<center><img src="http://intel.eetrend.com/files/2016-03/wen_zhang_/100001362-1910-2011.p…; alt=""></center>
2、在“Address”和“Port”字段中输入开发板的 IP 地址和端口。
3、在“User Name”和“Password”字段中输入您的用户名和密码。
注:您可以在物联网开发板上设置自己的用户名,或将根身份用作用户名。如果设置了自己的用户名(例如,使用开发板上的 adduser 命令),您可以使用该名称登录开发板,但您的应用仍以根身份运行。
4、点击“Connect”借助 ssh 登录开发板,并使用 ssh 隧道启动与后台程序的连接。
<strong>使用用户名和安全密钥安全连接物联网设备</strong>
登录开发板时无需输入密码,可以使用私人/公共 ssh 密钥对进行登录。如欲生成新的密钥,请参阅生成 ssh 密钥。
1、在英特尔 XDK IoT Edition 的左下角点击“IoT Device”下拉菜单,并选择“Add Manual Connection”。“Connect to IoT Device”对话框打开。
2、在“Address”和“Port”字段中输入开发板的 IP 地址和端口。
3、选中“Use ssh keys”复选框。
<center><img src="http://intel.eetrend.com/files/2016-03/wen_zhang_/100001362-1911-2012.p…; alt=""></center>
4、在“User Name”字段中输入您的用户名。
5、输入或浏览找到“Private Key Path”。
6、在“Pass Phrase”字段中输入您的口令短语。
7、点击“Connect”借助 ssh 登录开发板,并使用 ssh 隧道启动与后台程序的连接。
英特尔 XDK IoT Edition 将记住您的用户名和私人密钥文件的路径,但不会保存您的密码或口令短语。因此,只需输入其中一个就可实现安全连接。尽管可以使用带有空白口令短语的 ssh 密钥进行连接,但其安全性仅相当于您的私人密钥。因此,强烈建议同时使用口令短语和私人密钥。
<strong>重新连接设备</strong>
英特尔 XDK IoT Edition 在运行期间会记住连接属性。它将保留连接时所用的用户名、私有密钥文件路径和方法,但不会保留您的密码或口令短语。
打开后,英特尔 XDK IoT Edition 会查找设备,并将该设备放在设备列表中的未知设备列表,但英特尔 XDK IoT Edition 不会显示需要密码或口令短语的设备。您必须手动连接这类设备。
如果在未打开英特尔 XDK IoT Edition 的情况下更改设备,应用会记住设备之前的设置。如果设备之前不需要密码或口令短语,但现在需要,请从“IoT Device”下拉菜单中选择“Add Manual Connection”,并选择相应选项创建手动连接。
<strong>更新后台程序</strong>
现在您可以通过应用本身自动更新英特尔 XDK IoT Edition 后台程序,无需在开发板上完成任何系统管理任务。
首先,通过安全连接连接开发板。这项特性仅通过安全 (ssh) 连接发挥作用。
如果后台程序未更新,对话框将会通知:您使用的是旧版后台程序。您可以按照屏幕上的说明立即更新后台程序。如果更新失败,或者如果您怀疑后台程序被毁坏,希望手动更新,点击屏幕右下角的“IoT Settings”图标,然后选择“Upgrade xdk-daemon on IoT device”。即使英特尔 XDK IoT Edition 认为后台程序已经是最新版,仍然会通过这一步骤更新后台程序。
<center><img src="http://intel.eetrend.com/files/2016-03/wen_zhang_/100001362-1912-2013.p…; alt=""></center>
更新流程首先将相应的后台程序包从download.xdk.intel.com/iot/xdk-daemon-galileo-precompiled-0.0.30.tar.bz2 或 download.xdk.intel.com/iot/xdk-daemon-edison-precompiled-0.0.30.tar.bz2 下载至帐号的主目录,该帐号用于登录开发板(例如,/home/root)。不同的版本其版本编号也各不相同。
该文件未压缩或解压,执行包含 tarball 的 setup.sh 脚本。如果更新成功,与开发板的连接将会断开,并询问您是否重新连接。点击“Yes”。
<strong>检查更新日志</strong>
更新流程记录在您的终端窗口之中。信息会快速滚动,但您可以在面向英特尔 XDK IoT Edition 的日志文件中查看流程信息。
如果更新失败,最可能的原因是更新过程中耗尽了磁盘空间。如果出现这个问题,/var/log/journal 通常可以帮助您节省一些磁盘空间。
如果自动流程失败,更新程序不会删除主目录中的文件,您可以轻易找到文件以重新尝试手动运行 setup.sh 脚本。如果重试,请确保您运行是 ./setup.sh 脚本,而不是 ../setup.sh。当然,您还可以登录开发板,在主目录中输入命令 rm –rf xdk-daemon* 以手动删除该文件。这样不会影响后台程序的运行。
<strong>生成 ssh 密钥</strong>
开发板提供用于生成 ssh 密钥的软件。如果您已经有了一对密钥,可以使用之前的密钥,不必生成新的密钥。如要生成新的 ssh 密钥:
1、使用 ssh 登录开发板。例如,输入命令:
ssh –l root 192.168.2.15
2、输入下列命令以运行 ssh_keygen 来生成密钥:
ssh-keygen –t rsa
3、回答提示的问题。一般会在 /home/root/.ssh/id_rsa 中生成密钥。
4、将 id_rsa.pub 文件的内容添加至 /home/root/.ssh 中的 authorized_keys 文件。
5、在 .ssh 目录中查看文件权限。通常列为 –rw-------。如果不是这样,输入以下命令进行修改:
chmod 600 *
只有 .ssh 目录本身和您的私人密钥文件需要这些特殊权限。公共密钥可自由发布。
6、退出开发板,并使用 scp 命令将私人密钥文件拷贝至您的开发计算机:
scp root@192.168.2.15:/home/root/.ssh/id_rsa ~/.ssh/iot_rsa/li>
您的主机可能包含 id_rsa 文件。如果有,您可能不想覆写该文件。名称 iot_rsa 没有任何特别之处;您可以任意调用该文件,因为您将在连接对话框中指定该名称。不过,最好将其保留在 .ssh 目录中,因为该目录通常用来保留 ssh 密钥。
请务必确保该文件或目录不被他人看到。部分 ssh 实施将拒绝使用权限宽松的密钥。您可以使用上述 chmod 命令来修改权限。
文章来源:<a href="https://software.intel.com/zh-cn/articles/connecting-to-your-iot-device…;英特尔开发人员专区