You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jetson核心设备配置AWS SSH隧道时aws-iot-device-client报DUPLICATE_CLIENT_ID错误求助

故障解决思路与操作方案

DUPLICATE_CLIENT_ID错误的核心触发逻辑是:同一时间有两个及以上MQTT客户端使用完全相同的客户端ID接入AWS IoT Core,结合你同时部署了Greengrass核心服务与独立aws-iot-device-client的场景,90%以上的概率是两个服务的客户端ID配置冲突导致的频繁断连。

  • 第一步:修改aws-iot-device-client的客户端ID配置
    Greengrass核心设备默认会绑定设备的Thing Name作为MQTT客户端ID接入IoT Core,如果你安装aws-iot-device-client时直接复用了同一设备的证书、且未单独指定客户端ID,就会直接触发ID冲突。找到设备客户端的配置文件,默认路径为/etc/aws-iot-device-client/aws-iot-device-client.conf,修改client-id字段,在原有设备名后加唯一后缀区分,例如原设备名为jetson-core-01,修改为jetson-core-01-ssh-tunnel-client。
  • 第二步:清理重复运行的客户端进程
    执行命令ps aux | grep aws-iot-device-client检查后台是否有多个设备客户端进程同时运行,如果存在重复进程,执行kill 对应进程ID杀掉多余进程,再执行systemctl restart aws-iot-device-client重启服务,确认仅单进程运行。
  • 第三步:调整会话配置避免残留连接问题
    如果你的设备客户端配置了clean-session = false,异常断开后IoT Core会保留会话一段时间,这段时间内重连也会提示ID重复。临时修改配置文件中的clean-session字段为true,验证断连问题是否解决,若业务需要持久化会话,再按需调整IoT Core端的会话有效期参数即可。
  • 第四步:优先使用Greengrass原生组件规避冲突
    如果你的Greengrass核心设备本身支持部署官方SSH隧道组件,建议直接卸载独立安装的aws-iot-device-client,改用Greengrass组件实现SSH隧道能力,两套同类服务同时部署本身就容易产生连接、端口、权限类冲突。
  • 第五步:验证修复效果
    完成配置调整后,观察10-30分钟,检查IoT Core控制台的MQTT测试模块是否还会抛出DUPLICATE_CLIENT_ID错误,同时测试SSH隧道的连通性是否稳定。

内容的提问来源于stack exchange,提问作者Emoke Ordog

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 06:15:03