MQTT 非匿名登陆配置 | 学习笔记

简介: 快速学习 MQTT 非匿名登陆配置

开发者学堂课程【嵌入式之 RFID 开发与应用2020版:MQTT 非匿名登陆配置 】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/665/detail/11176


MQTT 非匿名登陆配置

内容介绍:

一、账户的认证操作

二、创建用户的方式

 

一、账户的认证操作

在上节课对 mosquitto 软件进行了安装并进行了简单的测试。但是之前所进行的测试没有办法去真实的部署,因为每个人都不希望自己的数据轻易的被别人访问。第一个是能够对数据的发布和访问者进行权限的认证,意思就是你是我的客户才可以进行访问,另外一个就是你是我的客户那也希望数据在传递的过程中不要以明文的方式传递应该是加密的。

所以第一个,一个账号的认证,首先要让 mosquitto 非匿名登陆,之前是任何人都可以去连接去登录去发布去订阅这种方式就是匿名的,想要非匿名首先要在服务器里面先让配置支持,如何支持先打开配置文件,要用 sudo 打开不然没有修改的权限,然后输入 vim /etc/mosquitto/mosquitto.conf 在后面添加 allow_anonymous false( true 表示允许匿名登录,false 表示不允许匿名登录)必须进行验证。结束之后必须指定一个登录用户的账号信息,账户信息创建完成之后会存放到 passwd.conf 配置文件中,首先要改成 password_file/etc/mosquitto/passwd.conf 路径,修改完成保存。

 

二、创建用户的方式

1、隐藏密码创建

然后要创建用户,有两种方法一种是隐藏密码创建,另一种是用明密码的方式创建。第一种是通过 mosquitto_passwd 里面有几种命令, mosquitto 是服务器的命令,mosquitto_pub 是发布,mosquitto_sub 是订阅,mosquitto_passwd 是创建账户。

image.png

输入 mosquitto_passwd -c/etc/mosquitto ,-c 指定账户信息的存放路径,名字可以自己修改与前面保持一致就可以。接下俩就是用户名,用户名设为 hg,输入 hg 的密码 111111,再输入一次。这时可以看到没有权限去写,没有权限的原因是没有加 sudo,输入 sudo 后重新连接再次输入密码。之后可以输入 etc/mosquitto/passwd.conf 去看,这时就相当于建立了 hg 账户。

image.png

2、用明密码的方式

然后可以再建立一个账户用另一种方式即明文的方式,首先参数要变,由 -c 变为 -b,hg 改为 zs 111111,这就是用户名和密码一起输入,再去查看这时多了 zs 的账户。

image.png

两个账户都有了之后,重新去运行服务器 mosquitto -c 去指定配置文件,配置文件已经加好,服务器可以进行正常的运行。再通过之前匿名登陆的方式则显示没有权限无法登陆,完成了几次握手,发送连接,应答,最后没有权限。

image.png

即出现了错误(Socket error on client<unknown>) 断开了,因此必须加上账户信息。账户信息的添加要输入  -u hg (用户名)-P(密码)111111。P 一定要大写不能写成小写。这时就连接上了,连接上之后再看发送消息,匿名发送消息并没有收到,这时将消息级别降低,不需要太复杂,但是没有权限,依然要用同样的方法即输入 -u hg -p111111.这样消息就可以发送出去。也就是说用 hg 的账户去订阅的,可以用 zs 的账户去发布,也就是说符合服务器的账户要求就是之前所讲的做一个服务器连接了很多终端,终端有发布者和订阅者,订阅都可以互相订阅互相发布,因为只认主题。

image.png

这就是非匿名登陆,下节课会去讲更加安全的加密通信。

相关实践学习
消息队列RocketMQ版:基础消息收发功能体验
本实验场景介绍消息队列RocketMQ版的基础消息收发功能,涵盖实例创建、Topic、Group资源创建以及消息收发体验等基础功能模块。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
相关文章
|
6月前
|
消息中间件 物联网 Java
MQTT常见问题之微消息队列配置失败如何解决
MQTT(Message Queuing Telemetry Transport)是一个轻量级的、基于发布/订阅模式的消息协议,广泛用于物联网(IoT)中设备间的通信。以下是MQTT使用过程中可能遇到的一些常见问题及其答案的汇总:
|
5月前
|
消息中间件 网络安全 RocketMQ
消息队列 MQ产品使用合集之配置controller时,出现无法选举master,该怎么解决
阿里云消息队列MQ(Message Queue)是一种高可用、高性能的消息中间件服务,它允许您在分布式应用的不同组件之间异步传递消息,从而实现系统解耦、流量削峰填谷以及提高系统的可扩展性和灵活性。以下是使用阿里云消息队列MQ产品的关键点和最佳实践合集。
|
3月前
|
消息中间件 Linux API
centos7 安装rabbitmq自定义版本及配置
centos7 安装rabbitmq自定义版本及配置
ly~
|
2月前
|
消息中间件 搜索推荐 大数据
一般情况下在 RocketMQ 中添加 access key 的步骤: 一、确定配置文件位置 RocketMQ 的配置文件通常位于安装目录下的 conf 文件夹中。你需要找到 broker.conf 或相关的配置文件。 二、编辑配置文件 打开配置文件,查找与 ACL(访问控制列表)相关的配置部分。 在配置文件中添加以下内容:
大数据广泛应用于商业、金融、医疗和政府等多个领域。在商业上,它支持精准营销、客户细分及流失预测,并优化供应链管理;金融领域则利用大数据进行风险评估、市场预测及欺诈检测;医疗行业通过大数据预测疾病、提供个性化治疗;政府运用大数据进行城市规划和公共安全管理;工业领域则借助大数据进行设备维护、故障预测及质量控制。
ly~
105 2
|
4月前
|
消息中间件 PHP 数据安全/隐私保护
docker安装rabbitmq并配置hyperf使用
通过以上步骤,您可以实现在Docker容器中安装和配置RabbitMQ,并在PHP的Hyperf框架中进行集成和使用。这种方式为开发者提供了快速部署并实现消息队列解决方案的能力,同时维持了环境与生产环境的一致性,从而为开发高效的分布式应用程序提供了便利。
94 3
docker安装rabbitmq并配置hyperf使用
|
3月前
|
消息中间件 SQL 监控
RocketMQ 5.3.0 版本中 Broker IP 配置为 IPv6 的情况
【8月更文第28天】RocketMQ 是一款分布式消息中间件,支持多种消息发布和订阅模式。在 RocketMQ 5.3.0 版本中,Broker 的配置文件 `broker.conf` 允许配置 IPv6 地址。当 Broker 的 `brokerIP1` 配置为 IPv6 地址时,会对 Broker 的启动、消息推送和状态监控等方面产生影响。本文将探讨如何在 RocketMQ 中配置 IPv6 地址,并检查 Broker 的状态。
208 0
|
4月前
|
消息中间件 传感器 负载均衡
消息队列 MQ使用问题之如何配置一主一从的同步复制模式
消息队列(MQ)是一种用于异步通信和解耦的应用程序间消息传递的服务,广泛应用于分布式系统中。针对不同的MQ产品,如阿里云的RocketMQ、RabbitMQ等,它们在实现上述场景时可能会有不同的特性和优势,比如RocketMQ强调高吞吐量、低延迟和高可用性,适合大规模分布式系统;而RabbitMQ则以其灵活的路由规则和丰富的协议支持受到青睐。下面是一些常见的消息队列MQ产品的使用场景合集,这些场景涵盖了多种行业和业务需求。
消息队列 MQ使用问题之如何配置一主一从的同步复制模式
|
4月前
|
消息中间件 Kafka
面试题Kafka问题之RabbitMQ的路由配置工作如何解决
面试题Kafka问题之RabbitMQ的路由配置工作如何解决
63 1
|
4月前
|
消息中间件 运维 Go
消息队列 MQ使用问题之如何配置生产环境
消息队列(MQ)是一种用于异步通信和解耦的应用程序间消息传递的服务,广泛应用于分布式系统中。针对不同的MQ产品,如阿里云的RocketMQ、RabbitMQ等,它们在实现上述场景时可能会有不同的特性和优势,比如RocketMQ强调高吞吐量、低延迟和高可用性,适合大规模分布式系统;而RabbitMQ则以其灵活的路由规则和丰富的协议支持受到青睐。下面是一些常见的消息队列MQ产品的使用场景合集,这些场景涵盖了多种行业和业务需求。
|
5月前
|
消息中间件 设计模式 网络安全
消息队列 MQ操作报错合集之broker启用controller配置时,遇到报错,是什么导致的
在使用消息队列MQ时,可能会遇到各种报错情况。以下是一些常见的错误场景、可能的原因以及解决建议的汇总:1.连接错误、2.消息发送失败、3.消息消费报错、4.消息重试与死信处理、5.资源与权限问题、6.配置错误、7.系统资源限制、8.版本兼容性问题。
103 1
下一篇
无影云桌面