본문 바로가기
메모./ElasticSearch

curl: (60) schannel: SEC_E_UNTRUSTED_ROOT #ElasticSearch 8.3.3

by 낭람._. 2022. 8. 7.
반응형
>curl http://localhost:9200
curl: (52) Empty reply from server
[@timestamp][WARN ][o.e.x.s.t.n.SecurityNetty4HttpServerTransport] [USER] received plaintext http traffic on an https channel, closing connection Netty4HttpChannel{localAddress=/127.0.0.1:9200, remoteAddress=/127.0.0.1:59661}

 

해당 오류는 접속 할 때 HTTP를 사용해서 발생하므로 https를 사용하면 해결 할 줄 알았다.

 

그런데.. 

 

>curl https://localhost:9200
curl: (60) schannel: SEC_E_UNTRUSTED_ROOT (0x80090325) - 신뢰되지 않은 기관에서 인증서 체인을 발급했습니다.
More details here: https://curl.se/docs/sslcerts.html

curl failed to verify the legitimacy of the server and therefore could not
establish a secure connection to it. To learn more about this situation and
how to fix it, please visit the web page mentioned above.

 

새로운 오류가 나왔다. 신뢰되지 않은 기관에서 인증서 체인을 발급했습니다.

 

curl 명령어는 기본적으로 https 사이트의 SSL 인증서를 검증한다.

 

-k 옵션을 사용하면 https 사이트를 SSL certificate 검증없이 연결 할 수 있다.

 

>curl -k https://localhost:9200
{"error":{"root_cause":[{"type":"security_exception","reason":"missing authentication credentials for REST request [/]","header":{"WWW-Authenticate":["Basic realm=\"security\" charset=\"UTF-8\"","Bearer realm=\"security\"","ApiKey"]}}],"type":"security_exception","reason":"missing authentication credentials for REST request [/]","header":{"WWW-Authenticate":["Basic realm=\"security\" charset=\"UTF-8\"","Bearer realm=\"security\"","ApiKey"]}},"status":401}

 

흠..  missing authentication credentials for REST request 

 

자격 증명 누락. user를 넣어줘야 한다..

 

접속을 시도할 때 -u 옵션을 사용해서 user를 정할 수 있다.

 

>curl -k https://localhost:9200 -u elastic
Enter host password for user 'elastic':

 

아. 이런, password가 필요하다. 

 

password는 처음에 ElasticSearch를 실행했을 때, 출력되었지만 저장을 안 한 사람이 더 많을 것이다.

 

bin 폴더에서 elasticsearch-reset-password -u [user명] -a 를 입력하면 된다.

 

-a는 auto 옵션이며 패스워드를 자동으로 생성한다.

>elasticsearch-reset-password -u elastic -a
This tool will reset the password of the [elastic] user to an autogenerated value.
The password will be printed in the console.
Please confirm that you would like to continue [y/N]y


Password for the [elastic] user successfully reset.
New value: xUKdbK--19f6lAfDuUe+

  * ElasticSearch가 실행중이어야 비밀번호 변경이 가능하다.

 

>curl -k https://localhost:9200 -u elastic
Enter host password for user 'elastic':
{
  "name" : "USER",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "yfYvR95lQeO2wiZZhuQCcQ",
  "version" : {
    "number" : "8.3.3",
    "build_flavor" : "default",
    "build_type" : "zip",
    "build_hash" : "801fed82df74dbe537f89b71b098ccaff88d2c56",
    "build_date" : "2022-07-23T19:30:09.227964828Z",
    "build_snapshot" : false,
    "lucene_version" : "9.2.0",
    "minimum_wire_compatibility_version" : "7.17.0",
    "minimum_index_compatibility_version" : "7.0.0"
  },
  "tagline" : "You Know, for Search"
}

 

위 처럼 비밀번호를 입력해도 되고, [User명]:[Password]로 입력해도 된다.

>curl -k https://localhost:9200 -u elastic:xUKdbK--19f6lAfDuUe+
{
  "name" : "USER",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "yfYvR95lQeO2wiZZhuQCcQ",
  "version" : {
    "number" : "8.3.3",
    "build_flavor" : "default",
    "build_type" : "zip",
    "build_hash" : "801fed82df74dbe537f89b71b098ccaff88d2c56",
    "build_date" : "2022-07-23T19:30:09.227964828Z",
    "build_snapshot" : false,
    "lucene_version" : "9.2.0",
    "minimum_wire_compatibility_version" : "7.17.0",
    "minimum_index_compatibility_version" : "7.0.0"
  },
  "tagline" : "You Know, for Search"
}

 

성공.

반응형

댓글