无法通过本地端口转发访问 ElasticSearch

无法通过本地端口转发访问 ElasticSearch

我无法从家里的本地机器连接到公司网络内受 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 和本地机器的管理员。有人能帮我找到问题吗?

相关内容