2017-03-10 15 views
0

私はMosquittoを新しいRaspberry Piにインストールしました。 OSはRaspbianです。 私はOwntracksウェブサイトの指示に従った。ラズベリーパイのTLSでMosquittoが動作しない

ブローカは、localhostのポート1883をリッスンしています。ユーザー名とパスワードを使用すると、Piへの1つのsshセッションでmosquitto_subを実行し、別のsshセッションからmosquitto_pubによって送信されたメッセージを受信できます。

ブローカもポート8883でリッスンしています。Owntracks repositoryのスクリプトを使用して証明書を作成しました。

Piでmosquitto_pubを実行すると、ホスト名またはIPアドレスを使用して「エラー:接続が拒否されました」というエラーが表示されます。 localhostまたは127.0.0.1を使用すると、エラーは「TLSエラーが発生しました。」です。

デスクトップコンピュータ(Piと同じLANにあります)でmosquitto_pubを実行すると、エラーは「接続が拒否されました」です。ここで実行するコマンドは、

mosquitto_pub -t owntracks/test -m Test -h pi1 --cafile ca.crt

です。ここで、pi1はブローカーを実行しているPiのホスト名です。 ca.crtファイルはPiからデスクトップコンピュータにコピーされます。

Mosquittoログには、接続が拒否された理由が示されていません。

Mosquittoの設定でTLSの設定は次のようになります。

listener 1883 127.0.0.1

listener 8883

cafile /etc/mosquitto/ca_certificates/ca.crt

certfile /etc/mosquitto/certs/server.crt

keyfile /etc/mosquitto/certs/server.key

require_certificate false

私のセットアップで何が悪いのでしょうか?

答えて

0

あなたはポート を示すために、「8883 -p」あなたのコマンドにこのオプションを追加する必要があります mosquittoでTLSを使用しようと、あなたが使用しているので、あなたは「-h localhostのかパイ」を配置する必要がない場合クライアントコマンドmosquitto_pubと同じマシンで、コマンドを実行します。 "mosquitto_pub -d -u username -P password -t/path/to/the/topic --cafile/path/to/the/8883 -p証明書は、この行をコメントするのを忘れないでください

リスナー1883あなたのmosquitto.confで

+0

私はそれを試みましたが、それは問題を解決しませんでした。私が読んだ別のヒント(ホスト名が証明書と同じでない場合)は、--insecureオプションを追加することです。しかし、それは問題を解決しません。ログレポート: 1491241710:ポート上の127.0.0.1からの新しい接続8883. 1491241710:OpenSSLのエラー:エラー: 1409442E:SSLルーチン:SSL3_READ_BYTES:TLSv1の警告プロトコルバージョン 1491241710:OpenSSLのエラー:エラー:140940E5:SSLルーチン: SSL3_READ_BYTES:SSLハンドシェークが失敗しました。 1491241710:クライアントでソケットエラーが切断されました。 1491241906:ポート8883の127.0.0.1からの新しい接続。 –

+0

フラグを追加しようとしましたか? –

0

すべての証明書を再作成すると問題が解決しました。明らかに私は、ローカルIPアドレスとリモートIPアドレスとホスト名の間に何か間違ったことをしました。 TLSのエラーメッセージはあまり有益ではありませんが、おそらくセキュリティの予防措置と関係しています。

関連する問題