如何为Mosquitto Broker设置身份验证?

时间:2017-01-23 08:20:05

标签: authentication mqtt raspberry-pi3 mosquitto

我在Mosquitto上配置身份验证时遇到问题。

只要我允许mosquitto.conf上的匿名连接,我就可以毫无问题地访问代理(pub& sub)。但是一旦启用身份验证,我就会收到“connection refused”。我已经关注了如何设置身份验证的多个教程,但我无法让它工作,也无法找出原因。

我在Raspberry PI 3型号B上安装了Mosquitto 1.4.10。

我使用以下命令创建了密码文件:sudo mosquitto_passwd -c /etc/mosquitto/passwd test并将密码设置为“test”。

我已在allow_anonymous中将/etc/mosquitto/passwd设为false,将password_file设为mosquitto.conf

然后,当我尝试命令sudo mosquitto_sub -t hello/world -u test -P test时,我收到“错误:连接被拒绝”。

我检查了密码文件,这似乎是正确的(它有正确的名称和路径/etc/mosquitto/passwd&包含我的用户“test”的条目。)

问题:

我在配置中犯了错误吗?我错过了什么吗?

1 个答案:

答案 0 :(得分:3)

使用默认的mosquitto.conf添加以下内容:

mosquitto_passwd

然后使用mosquitto_passwd -c /etc/mosquitto/passwd test 创建密码文件

service mosquitto restart

然后使用mosquitto_sub

重启mosquitto

(添加密码后重新启动服务非常重要,因为启动时会读取文件,或者当mosquitto收到HUP信号时)

您现在应该可以使用以下mosquitto_sub -t hello/world -u test -P test 命令

进行连接
<div class="row">
<div class="col-md-12>
  <div class="col-xs-12 col-sm-4 panel" style="background-color: red">
  some content
  </div>
  <div class="col-xs-6 col-sm-4 panel" style="background-color: yellow">
  kittenz
  <img src="http://placekitten.com/100/100">
  </div>
  <div class="col-xs-6 col-sm-4 panel" style="background-color: blue">
  some more content
  </div>
</div>
</div>

你可以拖尾/var/log/mosquitto/mosquitto.log文件以查看是否有任何错误