我在 Ubuntu Core 18 系统上运行 Mosquitto 2.0.5 snap(版本 511)。我没有对配置进行任何修改,也没有将其他配置传递给 Mosquitto。
在同一系统上,我正在运行一个 .NET 5 应用程序,它使用 MQTTnet 连接到 Mosquitto。我没有传递任何凭据来连接到 Mosquitto。但是,我无法连接到 Mosquitto 2.0.5,之前我可以连接到 Mosquitto 1.6.12。
我确实知道 Mosquitto 2.0 提高了安全性(这也是升级的原因),但升级文档明确指出,在默认配置(无侦听器)中,localhost:1883 上仍然可以进行匿名连接。奇怪的是,当我在 Windows 上运行 Mosquitto 2.0.5 和我的应用程序时,它一切正常,但在 Ubuntu Core(目标系统)上不起作用。
当我尝试建立连接时,Mosquitto 2.0.5 正在记录以下内容:
New connection from 127.0.0.1:57362 on port 1883.
Client <unknown> disconnected, not authorised.
我使用以下 C# 代码(使用 MQTTnet)进行连接:
var factory = new MqttFactory();
var client = factory.CreateMqttClient();
var builder = new MqttClientOptionsBuilder().
WithTcpServer("localhost", 1883);
client.ConnectAsync(builder.Build(), CancellationToken.None).Wait(MQTTBROKER_TIMEOUT);
我不明白什么,我做错了什么吗?
任何帮助表示赞赏。
编辑:我一直在玩更多,似乎默认情况下在使用 snap 时会加载动态安全插件,但是我在配置文件中没有找到任何关于此的内容。我想因此,身份验证失败。然后下一个问题出现了,在这种情况下,我如何才能找出默认管理员用户及其密码,因为我需要那些能够将组、客户端和角色添加到插件中。