物联网平台控制台提供设备SSH远程登录服务,使用该服务设备需要与物联网平台建立用于SSH登录的通道。SSH通道的建连信息可通过物联网平台控制台开启远程登录触发物联网平台下发给设备,也可由设备主动请求获取。本文介绍设备主动获取SSH通道建连信息的Topic。

背景信息

设备端完成主动开启SSH远程登录功能开发的具体操作,请参见设备主动开启远程登录示例

设备的SSH远程通道建连成功后,您可在物联网平台控制台远程访问设备。具体操作,请参见远程登录设备

设备请求SSH远程通道认证信息

  • 请求Topic:/sys/${productKey}/${deviceName}/secure_tunnel/proxy/request

    设备通过该Topic向物联网平台请求SSH远程通道的建连信息。此时,无需请求数据。

  • 响应Topic:/sys/${productKey}/${deviceName}/secure_tunnel/proxy/request_reply

    响应数据格式:

    {
        "tunnel_id":"2wde***",
        "token":"6d57029c-f***9-24a4b4a4f3a6",
        "uri":"wss://secure-tunnel.iot.aliyun.com:443",
        "host":"secure-tunnel.iot.aliyun.com",
        "port":"443",
        "token_expire":1000
    }
    表 1. 响应参数说明
    参数类型说明
    tunnel_idStringSSH远程通道的ID。
    tokenString设备与SSH远程通道进行WebSocket建连的认证Token。
    说明 新创建的Token有效期为7天。设备端请求SSH通道建连信息时,若物联网平台发现Token的生成时间超过了5天,则更新建连信息后响应设备的请求。
    uriString设备与SSH远程通道进行WebSocket建连的URL。
    hostStringuri的域名。
    portStringuri的端口号。
    token_expireIntegertoken剩余的有效时间,单位为秒。
    说明
    • token过期后,设备会收到关闭通知,设备需主动关闭该SSH通道。

      token过期后,设备未主动关闭SSH通道,物联网平台会在token过期后5秒后主动关闭SSH通道。

    • 设备端需要周期性主动请求更新建连信息,并使用新的建连信息重连SSH通道,避免云端监测到token过期时,下发关闭通知及主动关闭通道。
    • token过期前或过期时,您也可手动关闭远程登录功能,使设备与SSH远程通道断连。具体操作,请参见关闭远程登录

      关闭操作仅对当前的SSH通道连接有效,不会禁止设备端后续的SSH通道建连行为。若设备端再次请求建连信息后仍可以成功进行SSH通道建连。