2

ElasticsearchのShieldプラグインに問題があります。最近...Elasticsearch Shield Plugin - 管理者特権を持つユーザーでも、ユーザーを認証できません

を、それがサービスとして実行されるように、私はelasticsearchをインストールしている、と私は私のMac端末にcurl http://localhost:9200を入力した場合、私が正しいelasticsearch出力を得ることがポート9200

上で実行されていることがわかります私は基本認証からシールド認証にアップグレードしようとしていました。

/usr/share/elasticsearch/bin/plugin install license/latest 
/usr/share/elasticsearch/bin/plugin install shield/latest 

シールドとライセンスのプラグインがインストールされました。彼らは私のVagrantボックスの/ usr/share/elasticsearch/pluginsディレクトリに含まれています。

{ "エラー":{ "ROOT_CAUSE":[{ "タイプ": "security_exception"、 "理由" 私は再びcurl -XGET http://localhost:9200を使用しようと

だから、今、私は次の応答を取得します: "type": "security_exception"、 "security_exception"、 "security_exception"、 "security_exception"、 "security"、 "理由 ":" REST要求 [/]」、 "ヘッダーの 認証トークンを欠落":{ "WWW認証": "基本 レルム= \" シールド\ ""}}、 "ステータス":401}

これは良いことです。私は適切な認証なしでelasticsearchに到達することはできません。だから私はelasticsearchに認証するユーザーを作成したいと思います。

sudo ./esusers useradd testuser -p password -r admin 

これは、管理者権限を持つパスワード 'password'を持つユーザー 'testuser'を作成します。

私は、このユーザーは、次のコマンドを使用して作成されていることを確認することができます

sudo ./esusers list 

これが返されます。

testuserを:管理者

だから私は今、実行しようとしますcurlコマンドを再度実行してください。

curl -u testuser:password -XGET http://localhost:9200 

しかし、前回と同じエラーメッセージが表示されるのは、管理ユーザーなしで試したときです。

ここで問題は何ですか?管理者ユーザーが認証されないのはなぜですか?

+0

ました。私はこの質問を作成したとき、私はelasticsearch/elasticsearch人形モジュールを使用していた、と私はそれが私の問題を引き起こしてきたかもしれないと思います。私は最終的に私自身のelasticsearch人形モジュールを作成し、私の問題は解決されました。申し訳ありませんが、私は決断を下すことはできません。 – Xenidious

答えて

2

あなたの確認済みのユーザーはsudo ./esusers listを使用して作成されましたが、それでもcurlコマンドは失敗します。ホームディレクトリーが/usr/share/elasticsearchであっても、elasticsearchのカスタムディレクトリを使用している可能性があります。これにより、esusers/etc/elasticsearch/shield/ディレクトリにユーザーを作成しますが、使用する場合はカスタムディレクトリにコピーする必要があります。

私はあなたがこれを別の方法で解決したことを知っていますが、私はこれが将来他の人に役立つことを希望してこれに答えています。カスタムディレクトリについて確認できますか? e。私の場合はG、カスタムdirが/data/elasticsearchだったとホームディレクトリは、この質問には答えが得られませんでした/usr/share/elasticsearch

+0

これは潜在的に何が間違っていたかです。人形鍛造モジュールを使用しているとき、私は覚えているから、私のelasticsearchディレクトリは奇妙な方法で設定されました。私のクラスターには自分のディレクトリ、すなわち/ elasticsearch/es-01 /が与えられていると思います。それはあなたの例と少し異なります。私は手動でカスタムディレクトリ '/データ/ elasticsearch'を設定しているので、 – Xenidious

+0

こんにちは@Xenidiousは、はい、私のディレクトリが異なります。場合には1がそれを設定していない、そして一つは、あなたが 'の/ etc/elasticsearch/ES-01 /'言及したものを取得します。これとは関係なく、私は '/ etc/elasticsearch/shield'からシールドディレクトリをコピーする必要があると思います。だからあなたの場合には、それはあなたが 'の/ etc/elasticsearch/ES-01/shield'を取得するように'に/ etc/elasticsearch/ES-01/'にコピーする必要があります。以下のようなもの: 'のrsync :: { 'の/ etc/elasticsearch/ES-01': ソース=> 'は/ etc/elasticsearch /シールド'、 パージ=> trueを、 }得ます' –

関連する問題