概略手順
- ブローカー側で保持するパスワードファイルを作成
- 作成したパスワードファイルを、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 パスワード
‐‐‐
以上で、パスワード認証ができるはずです。
コメント