一 服务端设置用户名和密码
1 准备一个配置文件
新建一个配置文件,名为my.conf,如下所示
allow_anonymous false
password_file ./my_mos_password
allow_anonymous 默认值是true,表示支持匿名访问。
password_file后面跟的是密码文件的名字。
暂时先创建一个空的
2 生成密码:
执行如下命令生成密码文件:
./mosquitto_passwd -c ./my_mos_password hanmeimei
该命令解析:hanmeimei是指定登录需要的用户名,执行过程如下所示:连续输入两次新密码。
root@host:/mmcblk1p2/mqtt# ./mosquitto_passwd -c ./my_mos_password hanmeimei
Password:
Reenter password:
root@host:/mmcblk1p2/mqtt#
密码文件内容如下:是个加密文件
root@host:/mmcblk1p2/mqtt# cat my_mos_password
hanmeimei:$6$cZE/pyTmXhBwpnwv$9ltamM/xmTIllN6NYvp/XEPC3gq95loyY4ZYMYsj2RTLuNCkZ6Y81OeTrRppZ6bTR+cZr9ujUCcnknb5+5jsWw==
root@host:/mmcblk1p2/mqtt#
3 用于测试的配置文件user.conf
user root
allow_anonymous false
password_file ./my_mos_password
4 启动服务
先启动服务,等待客户端连接,如下所示:
root@host:/mmcblk1p2/mqtt# ./mosquitto -c user.conf -v
2026: mosquitto version 1.5.9 starting
2026: Config loaded from user.conf.
2026: Opening ipv4 listen socket on port 1883.
2026: Opening ipv6 listen socket on port 1883.
2026: Warning: Mosquitto should not be run as root/administrator.
二 客户端连接测试
认证方式不明,不方便测试。