無法透過本機連接埠轉送存取ElasticSearch

無法透過本機連接埠轉送存取ElasticSearch

我無法從家中的本機連線到公司網路內受 SearchGuard 保護的 ElasticSearch 執行個體。我正在使用本地 SSH 轉發,就像我在 phpMyAdmin 實例中工作一樣。

我的 ~/.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-elasticsearchssh 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 和我的本機電腦的管理員。有人可以幫我找到問題嗎?

相關內容