Instalação MQTT · 6 min read · Oct 31, 2025
Como Instalar o Servidor Mosquitto MQTT no Ubuntu 22.04

Mosquitto é uma implementação de servidor leve, gratuita e de código aberto do protocolo MQTT. É projetado para todos os dispositivos, desde computadores de placa única de baixo consumo até servidores completos. O MQTT funciona sobre o protocolo TCP/IP e usa sua rede doméstica de Internet existente para enviar mensagens para seus dispositivos IoT e responder a essas mensagens. É escrito em linguagem C, o que o torna rápido e mais eficiente do que outros corretores MQTT.
Este post mostrará como instalar o servidor Mosquitto no Ubuntu 22.04.
Pré-requisitos
- Um servidor executando Ubuntu 22.04.
- Uma senha de root configurada em seu servidor.
Instalar Dependências Necessárias
Antes de começar, é recomendado atualizar e fazer upgrade de todos os pacotes do sistema para a versão atualizada. Você pode atualizá-los executando o seguinte comando:
apt update -y
apt upgrade -yApós atualizar todos os pacotes, execute o seguinte comando para instalar os outros pacotes necessários:
apt-get install curl gnupg2 wget git apt-transport-https ca-certificates -yUma vez que todos os pacotes necessários estejam instalados, você pode prosseguir para o próximo passo.
Instalar o Servidor Mosquitto
Por padrão, o pacote Mosquitto não está disponível no repositório padrão do Ubuntu 22.04. Portanto, você precisará adicionar o repositório oficial do Mosquitto ao APT. Você pode adicioná-lo com o seguinte comando:
add-apt-repository ppa:mosquitto-dev/mosquitto-ppa -yUma vez que o repositório foi adicionado ao APT, você pode instalá-lo com o seguinte comando:
apt install mosquitto mosquitto-clients -yUma vez que a instalação foi concluída, você pode verificar o status do Mosquitto com o seguinte comando:
systemctl status mosquittoVocê deve ver a seguinte saída:
? mosquitto.service - Mosquitto MQTT Broker
Loaded: loaded (/lib/systemd/system/mosquitto.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2022-12-06 04:50:33 UTC; 8s ago
Docs: man:mosquitto.conf(5)
man:mosquitto(8)
Process: 5491 ExecStartPre=/bin/mkdir -m 740 -p /var/log/mosquitto (code=exited, status=0/SUCCESS)
Process: 5492 ExecStartPre=/bin/chown mosquitto:mosquitto /var/log/mosquitto (code=exited, status=0/SUCCESS)
Process: 5493 ExecStartPre=/bin/mkdir -m 740 -p /run/mosquitto (code=exited, status=0/SUCCESS)
Process: 5494 ExecStartPre=/bin/chown mosquitto:mosquitto /run/mosquitto (code=exited, status=0/SUCCESS)
Main PID: 5495 (mosquitto)
Tasks: 1 (limit: 2242)
Memory: 1.3M
CPU: 23ms
CGroup: /system.slice/mosquitto.service
??5495 /usr/sbin/mosquitto -c /etc/mosquitto/mosquitto.conf
Dec 06 04:50:32 ubuntu2204 systemd[1]: Starting Mosquitto MQTT Broker...
Dec 06 04:50:33 ubuntu2204 systemd[1]: Started Mosquitto MQTT Broker.
Criar Senha Administrativa MQTT
Por razões de segurança, é recomendado configurar a autenticação por senha para o MQTT.
Vamos configurar um usuário e senha admin com o seguinte comando:
mosquitto_passwd -c /etc/mosquitto/passwd hiteshDefina uma senha conforme mostrado abaixo:
Password:
Reenter password:
Em seguida, edite o arquivo de configuração do MQTT e defina a porta e o arquivo de senha.
nano /etc/mosquitto/conf.d/default.confAdicione as seguintes linhas:
listener 1883
password_file /etc/mosquitto/passwd
Salve e feche o arquivo, então reinicie o serviço Mosquitto para aplicar as alterações.
systemctl restart mosquittoComo Usar MQTT para Enviar e Receber Mensagens
Você precisará usar o cliente Mosquitto para se conectar ao servidor Mosquitto e, em seguida, enviar e receber mensagens em diferentes tópicos.
Antes de enviar e receber mensagens, você precisará se inscrever em um tópico. Você pode usar um dos seguintes tópicos em aplicações de automação residencial.
- home/lights/sitting_room
- home/lights/kitchen
- home/lights/master_bedroom
- home/lights/kids_bedroom
Vamos executar o seguinte comando para se inscrever no tópico home/lights/kids_bedroom.
mosquitto_sub -u hitesh -P password -t "home/lights/kids_bedroom"Em seguida, abra a nova interface de terminal e publique uma mensagem no tópico home/lights/kids_bedroom com o seguinte comando.
mosquitto_pub -u hitesh -P password -m "ON" -t "home/lights/kids_bedroom"No primeiro terminal, você receberá a carga útil ON:
ON
Agora, vá para o segundo terminal e envie a mensagem OFF no mesmo tópico.
mosquitto_pub -u hitesh -P password -m "OFF" -t "home/lights/kids_bedroom"Você deve ver a seguinte mensagem no primeiro terminal:
ON
OFF
Uma vez que você tenha terminado, pode prosseguir para o próximo passo.
Proteger o Mosquitto com SSL Let’s Encrypt
Para proteger o Mosquitto com SSL, você precisará instalar o pacote cliente Certbot em seu servidor.
Primeiro, instale o gerenciador de pacotes Snap usando o seguinte comando:
apt install snapdEm seguida, atualize o pacote Snap usando o seguinte comando:
snap install core
snap refresh coreEm seguida, instale o pacote Certbot com o seguinte comando:
snap install --classic certbotEm seguida, crie um link simbólico do binário Certbot para o local do sistema.
ln -s /snap/bin/certbot /usr/bin/certbotEm seguida, execute o seguinte comando para gerar um certificado SSL.
certbot certonly --standalone --agree-tos --no-eff-email --staple-ocsp --preferred-challenges http -m [email protected] -d mosquitto.linuxbuz.comVocê deve ver a seguinte saída:
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Requesting a certificate for mosquitto.linuxbuz.com
Successfully received certificate.
Certificate is saved at: /etc/letsencrypt/live/mosquitto.linuxbuz.com/fullchain.pem
Key is saved at: /etc/letsencrypt/live/mosquitto.linuxbuz.com/privkey.pem
This certificate expires on 2023-03-06.
These files will be updated when the certificate renews.
Certbot has set up a scheduled task to automatically renew this certificate in the background.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
If you like Certbot, please consider supporting our work by:
* Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
* Donating to EFF: https://eff.org/donate-le
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Você pode ver todos os arquivos de certificado gerados usando o seguinte comando:
ls /etc/letsencrypt/live/mosquitto.linuxbuz.com/Você receberá a seguinte saída:
cert.pem chain.pem fullchain.pem privkey.pem README
Em seguida, gere o certificado Diffie-Hellman usando o seguinte comando:
openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048Uma vez que você tenha terminado, pode prosseguir para o próximo passo.
Configurar MQTT para Usar SSL Let’s Encrypt
Primeiro, copie todos os certificados gerados para o diretório Mosquitto usando o seguinte comando:
cp /etc/letsencrypt/live/mosquitto.linuxbuz.com/fullchain.pem /etc/mosquitto/certs/server.pem
cp /etc/letsencrypt/live/mosquitto.linuxbuz.com/privkey.pem /etc/mosquitto/certs/server.keyEm seguida, defina a propriedade correta para o certificado Mosquitto.
chown -R mosquitto: /etc/mosquitto/certsEm seguida, edite o arquivo de configuração do Mosquitto e defina o SSL Let’s Encrypt.
nano /etc/mosquitto/conf.d/default.confAdicione as seguintes linhas:
listener 8883
certfile /etc/mosquitto/certs/server.pem
cafile /etc/ssl/certs/ISRG_Root_X1.pem
keyfile /etc/mosquitto/certs/server.key
dhparamfile /etc/ssl/certs/dhparam.pem
Salve e feche o arquivo, então reinicie o serviço Mosquitto para aplicar as alterações.
systemctl restart mosquittoEm seguida, verifique a conexão do Mosquitto usando o seguinte comando:
mosquitto_pub -h mosquitto.linuxbuz.com -t "home/lights/kids_bedroom" -m "hello" -p 8883 --capath /etc/ssl/certs/ -u hitesh -P passwordUma vez que você tenha terminado, pode prosseguir para testar a conexão do Mosquitto via navegador.
Configurar Websockets do Mosquitto
Em seguida, você precisará configurar Websockets para usar o protocolo MQTT a partir de navegadores. Você pode habilitá-lo editando o arquivo de configuração padrão do Mosquitto:
nano /etc/mosquitto/conf.d/default.confAdicione as seguintes linhas:
listener 8083
protocol websockets
certfile /etc/mosquitto/certs/server.pem
cafile /etc/ssl/certs/ISRG_Root_X1.pem
keyfile /etc/mosquitto/certs/server.key
dhparamfile /etc/ssl/certs/dhparam.pem
Salve e feche o arquivo, então reinicie o serviço Mosquitto para aplicar as alterações.
systemctl restart mosquittoEm seguida, abra sua interface de terminal e execute o seguinte comando:
mosquitto_sub -u hitesh -P password -t "home/lights/kids_bedroom"Agora, abra seu navegador e use o cliente MQTT baseado em navegador para testar a funcionalidade dos WebSockets. Você deve ver a seguinte tela:

Forneça o host do seu servidor Mosquitto, porta, nome de usuário, senha e clique no botão Conectar. Você deve ver a seguinte tela:

Agora, digite qualquer tópico, mensagem e clique no botão Publicar.
Em seguida, volte para a interface do terminal. Você deve ver sua mensagem publicada na seguinte saída:
Hi
Conclusão
Neste post, explicamos como instalar o servidor Mosquitto e protegê-lo com SSL Let’s Encrypt no Ubuntu 22.04. Também testamos o Mosquitto via um cliente baseado em navegador. Sinta-se à vontade para me perguntar se você tiver alguma dúvida.
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.