安装mosquitto服务器
1. 准备工作
-
确保玩客云已刷入Armbian系统,并能通过SSH正常连接。
-
更新系统软件包:
- sudo apt update && sudo apt upgrade -y
2. 安装Mosquitto MQTT服务端
sudo apt install mosquitto mosquitto-clients -y
3. 配置Mosquitto
-
修改配置文件:
-
用能编辑的ssh软件,找到路径/etc/mosquitto/mosquitto.conf
-
把这个文件里的清空,然后粘贴下面的这些代码。
- # 监听所有IPv4地址的默认端口1883
listener 1883 0.0.0.0# 允许匿名连接(测试用,生产环境建议关闭)
allow_anonymous true# 持久化消息存储(可选)
persistence true
persistence_location /var/lib/mosquitto/# 日志文件
log_dest file /var/log/mosquitto/mosquitto.log然后保存。
-
4. 启动服务并设置自启
- sudo systemctl enable mosquitto
sudo systemctl start mosquitto5,重启下mqtt服务端:
- sudo systemctl restart mosquitto
现在就可以使用了,只是现在没有账号密码,如果自己在家里用,已经够用了,输上ip,端口1883,用户名跟密码随便填,空着也行,已经可以正常使用了。
-
如何在 Mosquitto 中创建用户密码并配置身份验证
Mosquitto 是一个流行的 MQTT 消息代理服务器,广泛用于物联网(IoT)应用中。为了确保安全性,通常需要为 Mosquitto 配置用户身份验证。本文将详细介绍如何为 Mosquitto 创建用户密码并启用身份验证。
步骤 1:创建用户密码
使用 mosquitto_passwd 命令创建密码文件并添加用户:
mosquitto_passwd -c /etc/mosquitto/passwd username
-
-c:表示创建一个新的密码文件。如果文件已存在,请不要使用 -c 参数,否则会覆盖现有文件。
-
/etc/mosquitto/passwd:指定密码文件的路径。
-
username:指定要创建的用户名。
2.根据提示输入密码:
执行上述命令后,系统会提示你输入密码。请确保输入两次以确认密码。
Password:
Reenter password:
如果密码文件已存在,只需添加新用户,可以省略 -c 参数:
mosquitto_passwd /etc/mosquitto/passwd new_username
步骤 2:配置 Mosquitto 以使用密码文件
编辑 mosquitto.conf 配置文件:
打开 Mosquitto 的配置文件,通常位于 /etc/mosquitto/mosquitto.conf。
vi /etc/mosquitto/mosquitto.conf
添加以下配置:
在配置文件中添加以下两行,以禁用匿名访问并指定密码文件路径:
allow_anonymous false
password_file /etc/mosquitto/passwd
-
allow_anonymous false:禁止匿名用户访问。
-
password_file /etc/mosquitto/passwd:指定密码文件的路径。
步骤 3:重启 Mosquitto 服务
重启 Mosquitto 服务即可
sudo systemctl restart mosquitto
总结
通过以上步骤,你已经成功为 Mosquitto 配置了用户身份验证。现在,只有拥有有效用户名和密码的客户端才能连接到 Mosquitto 服务器。这大大增强了你的 MQTT 消息代理的安全性,特别是在物联网应用中。
如果你有多个用户需要管理,只需重复使用 mosquitto_passwd 命令(不加 -c 参数)来添加更多用户即可。
常用代码
下面还有些常用的代码,方便以后停用,卸载等等。
1. 停止服务
sudo systemctl stop mosquitto # 停止正在运行的服务
sudo systemctl disable mosquitto # 禁用开机自启
2. 卸载软件包
-
仅卸载程序(保留配置文件):
sudo apt remove mosquitto mosquitto-clients -y
完全卸载(删除程序 + 配置文件):
sudo apt purge mosquitto mosquitto-clients -y # 彻底删除配置文件和日志
3. 清理残留文件(可选)
如果希望彻底删除所有相关文件(如日志、数据文件):
sudo rm -rf /etc/mosquitto/ # 配置文件目录
sudo rm -rf /var/lib/mosquitto/ # 持久化数据目录
sudo rm -rf /var/log/mosquitto/ # 日志目录
4. 验证卸载
sudo ufw delete allow 1883/tcp
sudo ufw reload
mosquitto -v # 若提示 "command not found" 表示卸载成功
5. 防火墙规则清理(可选)
如果之前开放了 MQTT 端口(如1883),可关闭:
sudo ufw delete allow 1883/tcp
sudo ufw reload
6. 重新安装(如果需要)
若未来需重新安装:
sudo apt install mosquitto mosquitto-clients -y
希望这篇博客对你有所帮助!如果你有任何问题或建议,欢迎在评论区留言。
评论前必须登录!
注册