Cannot login to dashboards

Versions (relevant - OpenSearch/Dashboard/Server OS/Browser):
OS is 2.11.1, OS-D is 2.11.0, browser is Firefox 115.5.0

Describe the issue:
I’m using OS without SSL. Dashboards is running but I can’t login with default admin/admin credentials.

The error is:

opensearch-dashboards | {"type":"log","@timestamp":"2023-12-20T18:09:37Z","tags":["error","plugins","securityDashboards"],"pid":1,"message":"Failed authentication: Error: no handler found for uri [/_plugins/_security/authinfo] and method [GET]"}

My docker-compose yaml looks like this for Dashboards:

  opensearch-dashboards:
    image: opensearchproject/opensearch-dashboards:2.11.0
    container_name: opensearch-dashboards
    environment:
      OPENSEARCH_HOSTS: '["http://opensearch-node1:9200","http://opensearch-node2:9200","http://opensearch-node3:9200"]'
      # - OPENSEARCH_DASHBOARDS_SERVER_USERNAME=admin
      # - OPENSEARCH_DASHBOARDS_SERVER_PASSWORD=qowieu3q3-2gr
    ports:
      - "5601:5601"
    networks:
      - graylog
    depends_on:
      - opensearch-node1
      - opensearch-node2
      - opensearch-node3

For OS itself it looks like this (just the 1st node of the three):

  opensearch-node1: # This is also the hostname of the container within the Docker network (i.e. https://opensearch-node1/)
    image: opensearchproject/opensearch:2.11.1 # Specifying the latest available image - modify if you want a specific version
    container_name: opensearch-node1
    environment:
      - plugins.security.disabled=true
      - cluster.name=opensearch-cluster # Name the cluster
      - node.name=opensearch-node1 # Name the node that will run in this container
      - discovery.seed_hosts=opensearch-node1,opensearch-node2,opensearch-node3 # Nodes to look for when discovering the cluster,opensearch-node3,opensearch-node3
      - cluster.initial_cluster_manager_nodes=opensearch-node1,opensearch-node2,opensearch-node3 # Nodes eligible to serve as cluster manager
      - bootstrap.memory_lock=true # Disable JVM heap memory swapping
      - "OPENSEARCH_JAVA_OPTS=-Xms2g -Xmx2g" # Set min and max JVM heap sizes to at least 50% of system RAM
    ulimits:
      memlock:
        soft: -1 # Set memlock to unlimited (no soft or hard limit)
        hard: -1
      nofile:
        soft: 65536 # Maximum number of open files for the opensearch user - set to at least 65536
        hard: 65536
    volumes:
      - /data/opensearch_data_1:/usr/share/opensearch/data # Creates volume called opensearch-data1 and mounts it to the container
      # - opensearch-data1:/usr/share/opensearch/data # Creates volume called opensearch-data1 and mounts it to the container
    ports:
      - 9200:9200 # REST API
      - 9600:9600 # Performance Analyzer
    networks:
      - graylog # All of the containers will join the same Docker bridge network

Please help, I bet it’s an easy fix.

Configuration:

Relevant Logs or Screenshots:

The authentication of OpenSearch Dashboards depends on the security plugin of OpenSearch, you cannot disable the security plugin if you still want to use username&password to login OpenSearch Dashboards.

Thanks,

How can I then disable username/password for the dashboards? Enabling the security plugin complicates the entire setup for no good reason for me, this is not a publicly accessible platform.

Removing security plugin under the sub-directory plugins in OpenSearch Dashboards will work, notice you are using docker, you can follow this documentation to create a new image: Disabling security - OpenSearch documentation

@gdevelek You must place this option inside the opensearch.yml or use the below environmental option if you’d like to disable the security plugin in the OpenSearch node.

      - "DISABLE_SECURITY_PLUGIN=true"