自宅のローカル マシンから会社のネットワーク内の SearchGuard で保護された ElasticSearch インスタンスに接続できません。phpMyAdmin インスタンスで動作していたのと同じローカル SSH 転送を使用しています。
私の ~/.ssh/config には以下が含まれています:
Host workstation-forward-phpmyadmin
LocalForward localhost:8080 $WORKSTATION:443
HostKeyAlias $GATEWAY
Hostname $GATEWAY
ExitOnForwardFailure yes
User oschluet
Host workstation-forward-elasticsearch
LocalForward localhost:9200 $WORKSTATION:9200
HostKeyAlias $GATEWAY
Hostname $GATEWAY
ExitOnForwardFailure yes
User oschluet
私はこれらを次のようにセッションで実行しますscreen
:
ssh workstation-forward-elasticsearch
または してssh workstation-forward-phpmyadmin
、画面を切り離します。
これで、ブラウザから phpMyAdmin にアクセスしたりhttps://localhost:8080
、telnet を使用して Web サーバーに直接通信したりできるようになりました。残念ながら、この点に関しては ElasticSearch に問題があるようです。会社のネットワーク内の別のマシンから、次のように ElasticSearch にアクセスできます。
oschluet@ravenwood:~$ curl -k https://$WORKSTATION:9200 --user $user:$pass
{
"name" : "redacted",
"cluster_name" : "redacted",
"cluster_uuid" : "redacted",
"version" : {
"number" : "5.1.1",
"build_hash" : "5395e21",
"build_date" : "2016-12-06T12:36:15.409Z",
"build_snapshot" : false,
"lucene_version" : "6.3.0"
},
"tagline" : "You Know, for Search"
}
同じ資格情報をローカルで使用しても何も得られません。
[oschlueter@B5400 ~]$ curl -k https://localhost:9200 --user $user:$pass
# nothing happens
資格情報を使用しない場合:
oschluet@ravenwood:~$ curl -k https://$WORKSTATION:9200
Unauthorized
[oschlueter@B5400 ~]$ curl -k https://localhost:9200
# again nothing
ただし、telnet は接続を開きます:
[oschlueter@B5400 ~]$ telnet localhost 9200
Trying ::1...
Connected to localhost.
Escape character is '^]'.
ElasticSearch に IP アドレスとホスト名をリッスンさせて、0.0.0.0
ネットワーク内の他のマシンから接続できるようにしてみましたが、ローカル マシンからの接続は確立できませんでした。私は $WORKSTATION とローカル マシンの管理者です。問題の特定を手伝ってくれる人はいませんか?