Сообщение об ошибке Postgres: FATAL: идентификационная проверка не удалась для пользователя «…»

Предположим, вы видите это сообщение:

  FATAL: ошибка аутентификации идентификационной информации для пользователя "..."  

Каковы причины этого сообщения об ошибке?


Это означает, что Postgres пытается аутентифицировать пользователя, используя протокол Ident, и не может. Идентификационная аутентификация работает следующим образом:

  • У вас есть роль базы данных ‘foo’ в базе данных ‘db’.
  • Ваш pg_hba.conf файл (в /etc/postgres-something/main ) определяет Ident как протокол для подключения к базе данных db для пользователей, подключающихся из определенные хосты
  • Имя пользователя unix, устанавливающее соединение, — ‘foo’
  • Сервер идентификации, запущенный на машине, с которой подключается пользователь, подтверждает, что его имя пользователя действительно ‘foo ‘

Возможные причины и решения:

  1. На сервере не запущен сервер идентификации . машина, с которой вы пытаетесь подключиться. Проверьте это, попытавшись подключиться к нему через порт 113. Если это не удается, установите сервер идентификации (например, sudo apt-get install oidentd ).
  2. Идентификационный сервер есть, но нет роли базы данных , соответствующей имени, с которым вы пытаетесь подключиться (‘foo’ в приведенном выше примере). Поэтому создайте его, подключившись как-нибудь к базе данных с правами суперпользователя, и выполните CREATE ROLE foo . В качестве альтернативы добавьте запись в /etc/postgresql/.../main/pg_ident.conf (или /var/lib/pgsql/12/data или где угодно).

  3. Возможно, имя пользователя оболочки не соответствует роли базы данных. Вы можете проверить это, подключившись к серверу Ident во время соединения и передав правильные номера портов.

  4. Может быть, вы действительно хотите подключиться по паролю , а не по идентификатору. Отредактируйте файл pg_hba.conf соответствующим образом. Например, измените:

      host all all 127.0.0.1/32 identity  

    на

      разместить все 127.0.0.1/32 md5  

Не уверен в причинах, но это устранило это для меня:

в pg_hba.conf

измените на это:

разместить все все 127.0.0.1/32 md5

Точная ошибка: Вызвано : org.postgresql.util.PSQLException: FATAL: Ошибка аутентификации идентификатора для пользователя "postgres"

1


В CentOS добавьте следующую строку в /var/lib/pgsql/9.3/data/pg_hba.conf :

  разместить все 127.0.0.1/32 trust  

И закомментировать другие записи.

Конечно, этот параметр небезопасно , но если вы просто возитесь с виртуальной машиной разработки, как я, то, вероятно, все в порядке …

0


Если вы еще не пробовали это, просмотрите свой pg_hba. conf файл. Он будет называться примерно так/var/lib/pgsql/9.3/data/pg_hba.conf (Fedora 20); возможно, вам придется использовать ‘find/-name pg_hba.conf’, чтобы найти его.

В нижней части файла измените значения ‘METHOD’ на ‘trust’ для локального тестирования (см. postgres документы для полной информации). Перезагрузите компьютер, чтобы убедиться, что все запущено и новые параметры прочитаны.

Надеюсь, это излечит ваши беды. Он решил мои проблемы в Fedora 20 с PostgreSQL 9.3.

1


Для Centos 7, измените pg_hba.conf на ниже:

  # ТИП СПОСОБА АДРЕСА ПОЛЬЗОВАТЕЛЯ БАЗЫ ДАННЫХ # "local" - только для соединений сокетов домена Unix  все все одноранговые узлы # Локальные подключения IPv4: # хост все все 127.0.0.1/32 identityhost все все 127.0.0.1/32 md5 # локальные подключения IPv6: # хост все все :: 1/128 identityhost все все :: 1/128 trust #  Разрешить репликационные соединения с локального хоста пользователем с # привилегией репликации. # Локальная репликация все одноранговые # репликация хоста все 127.0.0.1/32 ident # репликация хоста все :: 1/128 identity  

1



Ошибка GitHub: ошибка аутентификации из командной строки

Джинни Фас

16 апреля 2018 г. · чтение 2 мин.

После настройки двухфакторной аутентификации на GitHub я больше не мог отправлять удаленные репозитории из командной строки.

Когда я пытался отправить удаленное репо, командная строка выдавала следующую ошибку:

 ~:> git push origin my-branch 
Имя пользователя для 'https://github.com': myusernamePassword для 'https://myusername@github.com': mypasswordremote: Неверное имя пользователя или пароль.fatal: Ошибка аутентификации для https://github.com/my-repository

Ошибка поставила меня в тупик и заставила меня поклясться, что, когда я в конечном итоге доберусь до сути, я делаю все возможное, чтобы оплатить знания.

Для аутентификации в командной строке требуется личный токен доступа.

Перейдите к Set элементы:

 Изображение для сообщения

Изображение для сообщения

Затем токены личного доступа:

Изображение для сообщения

Создайте новый токен персонального доступа. Убедитесь, что вы скопировали персональный доступ Токен, как только он будет сгенерирован — вы больше не сможете его увидеть!

Изображение для сообщения

Вставьте токен персонального доступа в «Пароль» поле при аутентификации через командную строку.

Оцените статью
clickpad.ru
Добавить комментарий