概览

远程访问助手是阿里云提供的一款跨平台桌面版客户端软件,可以跨公网访问远程设备的内置服务,比如SSH/FTP/HTTP/MySQL/远程桌面等服务。

软件下载

请至wiki首页下载,本文基于Ubuntu 16 64位操作系统为例,演示如何使用。

使用方法

获取阿里云帐号

点击 链接 进入以下页面:
X86 Linux使用方法 - 图1

注意以下事项:

  1. 务必勾选 编程访问 , 否者将无法使用本软件。
  2. 为便于账户管理,不建议勾选 控制台密码登陆

点击 确定 按钮,创建完成后,将进入以下页面:

X86 Linux使用方法 - 图2

注意以下事项:

  1. 需要将本页面中的 AccessKeyID 和 AccessKeySecret 保存下来,本软件需要使用这两个值。
  2. AccessKeyID 和 AccessKeySecret 仅在创建时能获取。丢失后,只能重新创建新的AccessKey。

选中用户,点击操作栏中的 添加权限 按钮,在搜索栏中键入 AliyunIOTFullAccess 并选中当前行,为该用户添加物联网平台的只读访问权限:

X86 Linux使用方法 - 图3

注意以下事项:

  1. 避免AccessKeyID 和 AccessKeySecret泄漏,否则会造成严重安全风险。
  2. 必须赋予本账户 AliyunIOTFullAccess 权限,才能正常使用本软件。

使用远程访问助手

以下命令的执行,都在~/tmp/目录下,开发者可以根据实际情况,选择其它工作目录。

下载软件

假设我们在~/tmp/目录下执行以下命令:

  1. curl -O http://remote-access-oxs.oss-cn-shanghai.aliyuncs.com/%E6%A1%8C%E9%9D%A2%E7%89%88%E8%BF%9C%E7%A8%8B%E8%AE%BF%E9%97%AE%E5%8A%A9%E6%89%8B/Ubuntu%E7%89%88%E6%9C%AC/iotx_ssh_agent_linux64

修改软件权限

执行以下命令:

 chmod +x iotx_ssh_agent_linux64

远程访问

启动代理

执行以下命令:

./iotx_ssh_agent_linux64 -productKey {设备的ProductKey} -deviceName {设备的DeviceName} -accessKey {阿里云帐号的AccessKey} -accessSecret {阿里云帐号的AccessSecret}

image.png

注意:

  1. 该工具不支持展示设备列表,用户必须提前知晓待调试设备的 ProductKey 和 DeviceName。
  2. 每个参数和值之间必须以空格分割。
  3. 注意观察本代理软件的输出信息的第一行: start local server :3333,后面的数字 3333 ,可能会变化,接下来我们会访问本地的3333端口来实现远程访问设备的SSH服务。

远程SSH登录

我们借助Ubuntu系统自带的ssh客户端,来实现远程登录。新打开一个terminal,执行以下命令:

ssh root@127.0.0.1 -p 3333

注意: root需要换成设备SSH服务上的实际用户名; 3333 需要换成上个步骤中代理软件的实际输出端口值。

输入设备的SSH服务的密码后,即可看到下面这个页面:

image.png

远程文件拷贝

我们借助Ubuntu系统自带的scp工具来实现远程文件的双向拷贝。新打开一个terminal,执行以下命令:

  • 本地文件拷贝到远端的设备上
scp -P 3333 test.sh iiot@127.0.0.1:/tmp/

注意,
1. test.sh 替换成实际需要拷贝的文件;
2. /tmp/替换成实际需要放到设备的目录,
3. 如果待拷贝的文件是目录,那么需要在3333端口后面加上 -r 选项。
4. 3333 替换成代理工具实际输出的值。
  • 远端的设备文件拷贝到本地
scp -P 3333 iiot@127.0.0.1:/tmp/test.sh ./

注意,
1. /tmp/test.sh 替换成实际需要拷贝的文件在设备上的绝对路径;
2. ./需要将文件放到本地的目录,
3. 如果待拷贝的文件是目录,那么需要在3333端口后面加上 -r 选项。
4. 3333 替换成代理工具实际输出的值。