是的,Ubuntu上的Mosquitto MQTT代理支持SSL/TLS加密
要在Ubuntu Mosquitto中启用SSL/TLS加密,您需要按照以下步骤操作:
安装Mosquitto和OpenSSL:sudo apt-get updatesudo apt-get install mosquitto mosquitto-clients openssl创建一个证书目录并切换到该目录:mkdir certscd certs生成CA证书:openssl req -new -x509 -days 365 -extensions v3_ca -keyout ca.key -out ca.crt生成服务器证书和私钥:openssl genrsa -out server.key 2048openssl req -new -out server.csr -key server.keyopenssl x509 -req -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out server.crt -days 365生成客户端证书和私钥:openssl genrsa -out client.key 2048openssl req -new -out client.csr -key client.keyopenssl x509 -req -in client.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out client.crt -days 365将证书和私钥复制到Mosquitto配置目录:sudo cp ca.crt server.crt server.key /etc/mosquitto/certs/编辑Mosquitto配置文件(通常位于/etc/mosquitto/mosquitto.conf),添加以下内容以启用SSL/TLS加密:listener 8883cafile /etc/mosquitto/certs/ca.crtcertfile /etc/mosquitto/certs/server.crtkeyfile /etc/mosquitto/certs/server.keyrequire_certificate true重启Mosquitto服务:sudo systemctl restart mosquitto现在,您的Mosquitto服务器已启用SSL/TLS加密。客户端可以使用以下命令连接到服务器:
mosquitto_pub -h <your_server_ip> -p 8883 -t "topic" -m "message" --cafile ca.crt --cert client.crt --key client.keymosquitto_sub -h <your_server_ip> -p 8883 -t "topic" --cafile ca.crt --cert client.crt --key client.key请确保将<your_server_ip>替换为您的Mosquitto服务器的IP地址。


