powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / JDBC и The server requested password-based authentication, but no password was provided
17 сообщений из 17, страница 1 из 1
JDBC и The server requested password-based authentication, but no password was provided
    #39558851
MakPol
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток!

Столкнулся с таким вопросом, надо подключиться через JDBC но не вводя пароль. Допустим локально на компьютере или через SSH-туннель. Естественно прописано в pg_hba.conf и подключившись через тот же psql ничего не запрашивает и подключается, но как только пытаюсь подключиться через JDBC и не задам пароль
The server requested password-based authentication, but no password was provided
Сказать драйверу использовать не password-based authentication не знаю как, может кто-то обходил это дело?

Например в том же DBeaver попытаться подключиться без пароля - проблема, хотя тот же PgAdmin пустит без проблем.
...
Рейтинг: 0 / 0
JDBC и The server requested password-based authentication, but no password was provided
    #39558918
Alexander A. Sak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как получается подключиться psql-ем? Прямо строку вызова psql покажите. Подозреваю, сразу будет понятно почему не получается.
...
Рейтинг: 0 / 0
JDBC и The server requested password-based authentication, but no password was provided
    #39559108
MakPol
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Так самым стандартным
$ psql -h 127.0.0.1 -p 5432 -U postgres
psql (9.5.6)
SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256, compression: off)
Type "help" for help.

postgres=# \conninfo
You are connected to database "postgres" as user "postgres" on host "127.0.0.1" at port "5432".
SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256, compression: off)
...
Рейтинг: 0 / 0
JDBC и The server requested password-based authentication, but no password was provided
    #39559300
Alexander A. Sak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Упс.
Сам попадал на то, что в драйвере коннектился по IPv4, а psql-ем -- по unix socket. Тут вроде несколько иное. Причем раньше вроде читал, что по JDBC при Auth Method=trust подключиться не получится, однако в последней доке, смотрю, написано, что поддерживается.

Ну давайте тогда строку подключения JDBC и соответствующие теме строки из pg_hba.conf
...
Рейтинг: 0 / 0
JDBC и The server requested password-based authentication, but no password was provided
    #39559396
MakPol
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В pg_hba.conf тупо добавлено
host all postgres 127.0.0.1/32 trust
т.к. тунель я бы с радостью указал peer и плюс не host, а local т.к. peer только для local поддерживается но не получается указать (не знаю как и можно ли вообще) типа в строке подключения указать local.
Ну а в том же добром PgAdmin-е все ок и подрубается
и

но при этом в DBaver шишь :(
вот нужен в случае с JDBC пароль и все тут...
Но вот реально ради этого postgres-юзеру пароль давать.... крайне не хочется. Вот и мучаюсь :(
...
Рейтинг: 0 / 0
JDBC и The server requested password-based authentication, but no password was provided
    #39559531
fte
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MakPol В pg_hba.conf тупо добавлено
host all postgres 127.0.0.1/32 trust


Ну, так добавьте
Код: sql
1.
hostssl all postgres 127.0.0.1/32 trust
...
Рейтинг: 0 / 0
JDBC и The server requested password-based authentication, but no password was provided
    #39560384
MakPol
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А зачем hostssl?
Драйвер от этого будут понимать, что если пароль пустой то пробовать так?
...
Рейтинг: 0 / 0
JDBC и The server requested password-based authentication, but no password was provided
    #39560445
fte
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MakPol,

Вы же сами, приводили строку подключения для psql
MakPol$ psql -h 127.0.0.1 -p 5432 -U postgres
psql (9.5.6)
SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256, compression: off)
Type "help" for help.


Видно же, что если явно не указано ssl=off соединение с хостом осуществляется с использованием SSL, это же касается настроек соединения драйвера.

поэтому
host all postgres 127.0.0.1/32 trust
ни о чём.., нужно
hostssl all postgres 127.0.0.1/32 trust

Еще важно, что superuser'у изначально разрешено trust соединение, а простому юзеру - нет
...
Рейтинг: 0 / 0
JDBC и The server requested password-based authentication, but no password was provided
    #39560702
MakPol
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добавил hostssl, но картина никак не изменлась, все же думаю тут дело в драйвере, то что pgAdmin ходит как-то иначе. Через него то к хосту подрубается без проблем по туннелю. Но в 4ой версии ПгАдмина убрали возможность использования тоннеля :(
А так по прежнему тот же DBeaver выдает ошибку.
и
...
Рейтинг: 0 / 0
JDBC и The server requested password-based authentication, but no password was provided
    #39560781
fte
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MakPol,

Напрягает: Initialize tunnel
Зачем в параметрах соединения задан SSH тунель? Очень нужен для локального хоста?
...
Рейтинг: 0 / 0
JDBC и The server requested password-based authentication, but no password was provided
    #39560891
Alexander A. Sak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вот я вижу на картинке с бобром Host написан как localhost, а в примере запуска psql -- 127.0.0.1

Что нам скажет
Код: plaintext
psql -h localhost -p 5432 -U postgres
?
Подозреваю, тоже пароль попросит.
...
Рейтинг: 0 / 0
JDBC и The server requested password-based authentication, but no password was provided
    #39561065
MakPol
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
fteMakPol,

Напрягает: Initialize tunnel
Зачем в параметрах соединения задан SSH тунель? Очень нужен для локального хоста?
Конечно же нужен туннель. Как без него. Сервера то удаленные и цель подключаться ко всем 60 с лишним серверам с одной машины, а не ходить по консолям каждой, иксов то нет и не нужны они на серверах вовсе ИМХО. Также как и пароли пользователю postgres
А открывать (trust) всем серверам, с которых может потребоваться зайти на базейку как-то не хочется. Открывать всем, тоже не вариант. Проще имея ключик тунеллем пройти и пустит. Хотя может слишком извращенно...

Alexander A. SakА вот я вижу на картинке с бобром Host написан как localhost, а в примере запуска psql -- 127.0.0.1

Что нам скажет
Код: plaintext
psql -h localhost -p 5432 -U postgres
?
Подозреваю, тоже пароль попросит.
Абсолютно верно, спросит, это я уже от разных попыток подключения оставил, огромное спасибо, глаз замылился, коряво проверил :( , виноват. Значит получается для jdbc надо hostssl тогда все норм будет. В то же время PgAdmin-у хватает и простого
host all postgres 127.0.0.1/32 trust
...
Рейтинг: 0 / 0
JDBC и The server requested password-based authentication, but no password was provided
    #39561601
fte
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MakPol,

Кажись понял Вам чего хочется....
для этого есть файл .pgpass и переменная среды PGPASSFILE
pgAdmin, если вы ставите галочку сохранить пароль сохраняет его именно в этот файл. DBeaver такого не делает, но если Вы руками создадите нужную запись, то должно все получится как вы хотите
...
Рейтинг: 0 / 0
JDBC и The server requested password-based authentication, but no password was provided
    #39561721
MakPol
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
fteMakPol,

Кажись понял Вам чего хочется....
для этого есть файл .pgpass и переменная среды PGPASSFILE
pgAdmin, если вы ставите галочку сохранить пароль сохраняет его именно в этот файл. DBeaver такого не делает, но если Вы руками создадите нужную запись, то должно все получится как вы хотите

Нет, наоборот, именно пароли плодить мне и не хочется. Пользователи типа postgres не должны вообще пароль иметь, ИМХО
...
Рейтинг: 0 / 0
JDBC и The server requested password-based authentication, but no password was provided
    #39561726
MakPol
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вариант с подключением через туннель меня устраивает полностью. Так и буду подключаться. Жаль что PgAdmin 4 не поддерживает, но и фиг с ним... :)
...
Рейтинг: 0 / 0
JDBC и The server requested password-based authentication, but no password was provided
    #39561789
Фотография vyegorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MakPolПользователи типа postgres не должны вообще пароль иметь, ИМХОЭто почему так?
...
Рейтинг: 0 / 0
JDBC и The server requested password-based authentication, but no password was provided
    #39562777
drsm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MakPol, посмотрел исходники драйвера, оно не умеет без пароля.
клиентские сертификаты тоже не умеет, к сожалению.
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / JDBC и The server requested password-based authentication, but no password was provided
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]