mosquitto 2.0.14 에서 Broker 설정시 패스워드 해제 방법

 MQTT 관련하여 테스트 하기 위해 리눅스 민트에서 mosquitto 패키지를 설치하게 되었다. 

mosquitto 패키지 저장소 오류가 생겨서 위와 같이 해결한 다음에 apt 를 이용하여 mosquitto 패키지를 설치하면 자동으로 MQTT Broker 인 mosquitto 데몬이 동작하게 된다. 

위와 같이 떠있으면 정상적으로 설치가 완료되고 MQTT Broker 가 동작하는 것이다. 그런데 여기서 문제가 발생했는데 MQTT 클라이언트에서 Broker로 연결이 안되는 것이다. 물론 별도의 계정이나 패스워드를 설정하지 않았다. 

관련하여 알아보니 현재 설치한 mosquitto 버전은 2.0.14 버전으로 2022/5/10일 현재 최신버전이다. 이 버전은 MQTT v5.0 까지 지원한다. 

요 버전의 경우에는 Default 로 Broker 에 구독자(SUB)의 계정 및 패스워드를 설정하게 되어 있다. 따라서 당연히 별도로 설정하지 않았다면 Broker에 연결이 되지 않는다. 

위의 링크 글을 참고하면 관련 내용이 기술되어 있다. 

실제로는 계정과 패스워드를 설정하는게 보안에도 좋지만 테스트 단계에서는 이 부분이 귀찮으므로 Broker 가 설치된 서버에서 다음과 같이 설정하면 계정과 패스워드를 설정하지 않고 Broker에 연결이 가능하다. 

먼저 “/etc/mosquitto/mosquitto.conf”  파일을 vi 에디터로 열어준다.

listener 1883
allow_anonymous true

위의 구문을 추가한다. 나는 Port 를 1883을 사용한다. 

mosquitto.conf 파일을 저장하고 빠져나온 다음에 아래와 같이 MQTT Broker 를 재시작 해준다. 

sudo service mosquitto restart

그런 다음에 MQTT 클라이언트 앱이나 프로그램으로 Broker 에 연결을 시도하면 정상적으로 연결이 되는 것을 알 수 있다.

'코드도사(codedosa.com)'에는 쿠팡파트너스 등의 제휴링크가 포함되어 있으며 수수료를 제공받을 수 있습니다.