将gcloud连接到MQTT网桥时出现问题

将gcloud连接到MQTT网桥时出现问题,mqtt,iot,gcloud,google-cloud-pubsub,mosquitto,Mqtt,Iot,Gcloud,Google Cloud Pubsub,Mosquitto,我目前正在尝试将gcloud IoT项目连接到MQTT网桥,以便能够发布遥测数据。我正在使用Mosquitto,并试图在我在gcloud计算引擎上创建的VM实例上运行Mosquitto\u pub命令。我还创建了一个防火墙规则,以打开优先级为0的端口8883。完整地说,我提交了以下命令(我删除了使用的JWT并将其放在代码块中) 我到处找了,找不到解决这个问题的办法。我正在使用根证书并指定CA文件,以便idk知道发生了什么——帮助 我怀疑是您的JWT到期时间太长(>=24小时) 谷歌云物联网的MQ

我目前正在尝试将gcloud IoT项目连接到MQTT网桥,以便能够发布遥测数据。我正在使用Mosquitto,并试图在我在gcloud计算引擎上创建的VM实例上运行
Mosquitto\u pub
命令。我还创建了一个防火墙规则,以打开优先级为0的端口8883。完整地说,我提交了以下命令(我删除了使用的JWT并将其放在代码块中)


我到处找了,找不到解决这个问题的办法。我正在使用根证书并指定CA文件,以便idk知道发生了什么——帮助

我怀疑是您的JWT到期时间太长(>=24小时)

谷歌云物联网的MQTT网关(有文档记录:)


为了要求JWTs是巧合,我也一直在使用云物联网,当我看到你的问题时,我试图发布并收到相同的错误。所以,要么我们都做错了,要么网关有问题。我刚刚查看了一篇旧帖子,我记得我不能用钥匙让它工作,只能用证书。你在使用证书吗?我试过使用证书,但没什么不同。我没有试过使用证书。嗯,奇怪。我真的不知道发生了什么事。我尝试以root用户身份运行该命令,但现在我遇到了一个不同的错误
error:Problem setting TLS options.
此错误似乎不明确,我看到其他帖子表明这与无法读取CA文件有关,但我不认为这是问题所在/不知道如何诊断。啊哈!你的JWT有效期多长?我的是48小时,它没有工作。我创建了另一个具有缩短到期时间(24小时)的版本,它正在运行。
mosquitto_pub \
--host mqtt.googleapis.com \
--port 8883 \
--id projects/telemetry-268916/locations/us-central1/registries/iotcore-registry-telemetry/devices/esp32 \
--username unused \
--pw "<my-JWT.>" \
--cafile ./roots.pem \
--tls-version tlsv1.2 \
--protocol-version mqttv311 \
--debug \
--qos 1 \
--topic /devices/esp32/events \
--message "Hello MQTT"
Client projects/telemetry-268916/locations/us-central1/registries/iotcore-registry telemetry/devices/esp32 sending CONNECT
Client projects/telemetry-268916/locations/us-central1/registries/iotcore-registry-telemetry/devices/esp32 received CONNACK
Connection Refused: not authorised.
Error: The connection was refused.