LoongLee's blog

MQTT_Use

MQTT 使用指南

来源:sources/MQTT使用.md

安装 Mosquitto

sudo apt update
sudo apt install -y mosquitto mosquitto-clients
sudo systemctl enable mosquitto
sudo systemctl start mosquitto

测试连接

# 终端 1:订阅
tmosquitto_sub -h localhost -t test/topic

# 终端 2:发布
mosquitto_pub -h localhost -t test/topic -m "Hello, MQTT"

生产环境安全配置

1. 创建用户密码文件

# 首次创建(-c = create)
sudo mosquitto_passwd -c /etc/mosquitto/password_file mqttuser

# 追加用户(不加 -c)
sudo mosquitto_passwd /etc/mosquitto/password_file anotheruser

2. 配置认证文件

创建 /etc/mosquitto/conf.d/auth.conf

listener 1883 0.0.0.0
allow_anonymous false
password_file /etc/mosquitto/password_file

3. 加固权限

sudo chown root:mosquitto /etc/mosquitto/password_file
sudo chmod 640 /etc/mosquitto/password_file
ls -l /etc/mosquitto/password_file

4. 验证配置

mosquitto -c /etc/mosquitto/mosquitto.conf --test-config
sudo -u mosquitto mosquitto -c /etc/mosquitto/mosquitto.conf -v

5. 重启服务

sudo systemctl daemon-reload
sudo systemctl restart mosquitto
sudo systemctl status mosquitto

客户端命令(带认证)

# 订阅(-d 显示 debug 过程)
mosquitto_sub -h localhost -t test/topic -u mqttuser -P 'passwd' -d

# 发布
mosquitto_pub -h localhost -t test/topic -m 'yyes' -u mqttuser -P 'passwd' -d

相关页面


最后更新: 2026-04-30