Una vez instalado Mosquitto cualquiera que pueda acceder al puerto 1883 de nuestra Raspberry podrá publicar y suscribirse a topics y además los mensajes no están cifrados.
Configuramremos el broker MQTT con autentificación para securizar el acceso al mismo, de esta forma podemos tenerlo en un servidor publico pero teniendo zonas privadas.
Uso de contraseñas:
Mosquitto incluye una utilidad que generar un archivo de contraseña llamado mosquitto_passwd. Este comando pedirá una contraseña para el nombre de usuario especificado y después colocamos el resultado en /etc/mosquitto/passwd.
Ejecutar este comando y poner la contraseña.
sudo mosquitto_passwd -c /etc/mosquitto/passwd NombreUsuario
Modificamos el fichero de configuración:
sudo nano /etc/mosquitto/conf.d/default.conf
Y escribir en el fichero:
# donde esta el fichero de claves password_file /etc/mosquitto/passwd # deshabilitará todas las conexiones anonimas allow_anonymous false
Después de modificar este archivo, reiniciamos mosquitto
sudo systemctl restart mosquitto
En la otra ventana abierta, rechaza la conexión:
pi@raspberrypi:~ $ mosquitto_sub -v -t "Boque/Subbloque" !Connection error: Connection Refused: not authorised.
En el directorio /etc/mosquitto/conf.d se guardan los ficheros de configuración adicionales.
Para publicar y suscribirse con usuario y contraseña usar:
mosquitto_pub -d -t “test” -m “hola_mundo” -u “Nombreusuario” -P “password" mosquitto_sub -d -t “test” -u “Nombreusuario” -P “password”