No puedo conectarme a mi instancia de ElasticSearch protegida por SearchGuard dentro de la red de la empresa desde mi máquina local en casa. Estoy usando un reenvío SSH local igual que cuando trabajaba para una instancia de phpMyAdmin.
Mi ~/.ssh/config contiene estos:
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
Los involucro en una screen
sesión como esta:
ssh workstation-forward-elasticsearch
o ssh workstation-forward-phpmyadmin
y separo la pantalla.
Ahora puedo acceder a phpMyAdmin a través de mi navegador accediendo https://localhost:8080
o usando telnet para hablar directamente con el servidor web. Lamentablemente, parece haber un problema con ElasticSearch a este respecto. Desde una máquina diferente dentro de la red de la empresa puedo acceder a ElasticSearch de esta manera:
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"
}
Usar las mismas credenciales localmente no produce nada:
[oschlueter@B5400 ~]$ curl -k https://localhost:9200 --user $user:$pass
# nothing happens
Sin usar credenciales:
oschluet@ravenwood:~$ curl -k https://$WORKSTATION:9200
Unauthorized
[oschlueter@B5400 ~]$ curl -k https://localhost:9200
# again nothing
Sin embargo, telnet abre una conexión:
[oschlueter@B5400 ~]$ telnet localhost 9200
Trying ::1...
Connected to localhost.
Escape character is '^]'.
Intenté que ElasticSearch escuchara la dirección IP, el nombre de host y 0.0.0.0
todo eso me permitió conectarme desde la otra máquina dentro de la red, sin embargo, no se pudo establecer ninguna conexión desde mi máquina local. Soy administrador de $WORKSTATION y de mi máquina local. ¿Alguien podría ayudarme a localizar el problema, por favor?