概略手順
- ブローカー側で保持するパスワードファイルを作成
- 作成したパスワードファイルを、config ファイルに登録する
- config ファイルを起動オプションに指定して、ブローカーを起動する
- クライアント側でもオプションにユーザー名とパスワードを指定して起動する
サーバー側
パスワードファイルの作成
コマンドプロンプトにて以下のように入力します。
C:\Program Files (x86)\mosquitto> mosquitto_passwd -b pwfile username password
pwfileは、パスワードファイルのパス名ですusernameは、作成するユーザー名ですpasswordは、作成するパスワードです
上記のコマンドを入力すると、指定したパスに pwfile というファイルが生成されます。
config ファイルの設定
ブローカーアプリ(mosquitto.exe)のあるフォルダ内にある mosquitto.config をメモ帳等で開きます。
(デフォルトでは C:\Program Files (x86)\mosquitto にあるはず)
最終行に以下を追記します。
allow_anonymous false
password_file ./pwfile
ここで、 ./pwfile は、作成したパスワードファイルのパスです。相対パスまたは絶対パスどちらでもいいです。
なお、 allow_anonymous false は、パスワードなしのクライアント接続を弾くというオプションです。これを記載しないと、パスワード認証するけど、パスワードなしのアクセスも受け付けるという謎挙動になります。
ブローカーの起動
コマンドプロンプトにて以下のように入力して、ブローカーを起動します。
mosquitto -v -c mosquitto.conf
ここで、-c mosquitto.conf は、 config ファイルのパスになります。デフォルトでは上記の通りでいいはずです。
クライアント側
mosquitto に同梱されているクライアントアプリを例にします。
接続時に、以下のようにオプションをつけるとパスワード認証で接続できます。
(注:-P は大文字です)
C:\Program Files (x86)\mosquitto> mosquitto_sub -t なんかのトピック -u ユーザー名 -P パスワード
‐‐‐
以上で、パスワード認証ができるはずです。

コメント