Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / как заставить postgres принимать подключения по сети / 22 сообщений из 22, страница 1 из 1
14.01.2016, 13:47
    #39147310
alexy_black
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как заставить postgres принимать подключения по сети
здравствуйте.
у меня тут проблема: постгресс работает на сервера, я обычно по сети не конекчусь, но сегодня понадобилось кое-что сделать, потом опять отрубить.. как настроить чтобы принимал подключения?

я вот добавил в конец /etc/postgresql/9.4/main/pg_hba.conf это host all fleonis_t my_ip/24 trust (пробовал и fleonis - моего оригинального пользователя, потом создал этого).

в /etc/postgresql/9.4/main/postgresql.conf написанно
Код: sql
1.
2.
3.
4.
5.
6.
listen_addresses = '*'      # what IP address(es) to listen on;
                    # comma-separated list of addresses;
                    # defaults to 'localhost'; use '*' for all
                    # (change requires restart)
port = 5433             # (change requires restart)
max_connections = 100           # (change requires restart)



когда делаю psql --dbname=postresql://ip:5433 fleonis_t

говорит

psql: ВАЖНО: пользователь "fleonis_t" не прошёл проверку подлинности (Peer)


что не так?
...
Рейтинг: 0 / 0
14.01.2016, 13:56
    #39147317
qwwq
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как заставить postgres принимать подключения по сети
alexy_black,

очевидно, раньше встретилось правило для ALL . а поцгресс не строит полного дерева прав с вычислением минимума -- а использует первое по порядку, подходящее правило. им оказалось ALL ... peer

переместите вашу строку выше в ..hba.conf-е
...
Рейтинг: 0 / 0
14.01.2016, 14:00
    #39147322
alexy_black
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как заставить postgres принимать подключения по сети
хм..

вот действующие строки конфига (после перемещения)
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
local   all             postgres                                peer

# TYPE  DATABASE        USER            ADDRESS                 METHOD
host all fleonis_t my_ip/24 trust

# "local" is for Unix domain socket connections only
local   all             all                                     peer
# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
# IPv6 local connections:
host    all             all             ::1/128                 md5



теперь говорит
psql: ВАЖНО: пользователь "fleonis_t" не прошёл проверку подлинности (Peer)

не понимаю, я же вроде trust сказал, а не peer
...
Рейтинг: 0 / 0
14.01.2016, 14:02
    #39147325
Павел Лузанов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как заставить postgres принимать подключения по сети
alexy_black,

После изменения pg_hba.conf конфигурацию перечитывали ? (pg_ctl reload или вызов функции pg_reload_conf())
Если перечитывали, то перенесите добавленную строку из конца файла в начало и еще раз перечитайте.
...
Рейтинг: 0 / 0
14.01.2016, 14:03
    #39147327
qwwq
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как заставить postgres принимать подключения по сети
alexy_black,

а reload или restart делали, как нам тут выше верно подбрасывают ?
...
Рейтинг: 0 / 0
14.01.2016, 14:08
    #39147330
alexy_black
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как заставить postgres принимать подключения по сети
теперь строка стоит на первой строчке.

я перечитываю так /etc/init.d/postgresql reload отвечает что Reloading postgresql configuration (via systemctl): postgresql.service.

ну и врдое вывод команды psql изменился (кстати, я не написал, что выполняю её на локальном компе).

сейчас ответ такой же psql: ВАЖНО: пользователь "fleonis_t" не прошёл проверку подлинности (Peer)

я сейчас попробовал адресс all - но ничего не изменилось.
...
Рейтинг: 0 / 0
14.01.2016, 14:12
    #39147333
alexy_black
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как заставить postgres принимать подключения по сети
кстати, когда говорю psql он пароль не спрашивает.. то есть сразу объявляет, что мой юзерь не прошел. но \du на сервере из под postgres говорит что такой пользователь существует - я даже скопипастел имя.
...
Рейтинг: 0 / 0
14.01.2016, 14:20
    #39147340
qwwq
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как заставить postgres принимать подключения по сети
alexy_black,

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



например почему вы не используете штатные (psql) параметры -h -U и -p ? [в первой записи топика].
...
Рейтинг: 0 / 0
14.01.2016, 14:28
    #39147352
Павел Лузанов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как заставить postgres принимать подключения по сети
alexy_black...кстати, я не написал, что выполняю её на локальном компе.
Кстати это всё меняет.

Запуская на локальном хосте, не указывая, что подключатетесь по tcp/ip - попадаешь на строку:
local all all peer

запускай, как тут уже советуют:
psql -h твойIP -p 5433 -d postgres -U fleonis_t
...
Рейтинг: 0 / 0
14.01.2016, 14:39
    #39147361
qwwq
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как заставить postgres принимать подключения по сети
Павел Лузанов,

я не совсем уверен, но у вас, кажется, разногласие в понимании слова "локальный" . если это так -- то ещё одна версия такова -- у автора опечатка в имени БД. postres вместо postGres-а. он тыкается в свою локальную по тому же Unix domain socket. [а там у него тоже peer]

-- я, при опечатке в имени БД с его строкой попадаю на
Код: shell
1.
2.
sql: could not connect to server: No such file or directory
	Is the server running locally and accepting
	connections on Unix domain socket ....
...
Рейтинг: 0 / 0
14.01.2016, 14:40
    #39147366
alexy_black
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как заставить postgres принимать подключения по сети
а я не првел? у меня просто сайт лежит сейчас :(

Код: sql
1.
2.
3.
psql -h 88.214.236.165 -p 5433 -U fleonis kupself
psql: FATAL:  no pg_hba.conf entry for host "46.42.24.34", user "fleonis", database "kupself", SSL on
FATAL:  no pg_hba.conf entry for host "46.42.24.34", user "fleonis", database "kupself", SSL off


такая же петрушка если поставить fleonis_t (я ему пароль другой поставил, чтобы легче было - временный пользователь как бы).


вот сейчас запись
Код: sql
1.
2.
3.
4.
5.
6.
cat /etc/postgresql/9.4/main/pg_hba.conf |sed -n '/^[^#].*/p'
host all fleonis 46.42.24.34 trust
local   all             postgres                                peer
local   all             all                                     peer
host    all             all             127.0.0.1/32            md5
host    all             all             ::1/128                 md5



поменял на запись о конкретной базе - ничего.

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
[src]cat /etc/postgresql/9.4/main/postgresql.conf  | sed -r 's/\s*//' | sed -n '/^[^#].*/p'
data_directory = '/var/lib/postgresql/9.4/main'         # use data in another directory
hba_file = '/etc/postgresql/9.4/main/pg_hba.conf'       # host-based authentication file
ident_file = '/etc/postgresql/9.4/main/pg_ident.conf'   # ident configuration file
external_pid_file = '/var/run/postgresql/9.4-main.pid'                  # write an extra PID file
listen_addresses = '*'          # what IP address(es) to listen on;
port = 5433                             # (change requires restart)
max_connections = 100                   # (change requires restart)
unix_socket_directories = '/var/run/postgresql' # comma-separated list of directories
ssl = true                              # (change requires restart)
ssl_cert_file = '/etc/ssl/certs/ssl-cert-snakeoil.pem'          # (change requires restart)
ssl_key_file = '/etc/ssl/private/ssl-cert-snakeoil.key'         # (change requires restart)
shared_buffers = 128MB                  # min 128kB
dynamic_shared_memory_type = posix      # the default is the first option
log_line_prefix = '%t [%p-%l] %q%u@%d '                 # special values:
log_timezone = 'UTC'
stats_temp_directory = '/var/run/postgresql/9.4-main.pg_stat_tmp'
datestyle = 'iso, mdy'
timezone = 'UTC'
lc_messages = 'C'                       # locale for system error message
lc_monetary = 'C'                       # locale for monetary formatting
lc_numeric = 'C'                        # locale for number formatting
lc_time = 'C'                           # locale for time formatting
default_text_search_config = 'pg_catalog.english'


...
Рейтинг: 0 / 0
14.01.2016, 14:43
    #39147371
alexy_black
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как заставить postgres принимать подключения по сети
хм.. решил поменять параметр ssl=true на ssl=false
поменял, там написано, что нужно перезапустить (я так понял что перепрочитать недостаточно). перезапустил, теперь вобще не але (даже после того как обратно поменял). в логах пишут что сервер готов принимать соединения.

Код: sql
1.
2.
3.
4.
psql -h 88.214.236.165 -p 5432 -U fleonis
psql: не удалось подключиться к серверу: В соединении отказано
        Он действительно работает по адресу "88.214.236.165"
         и принимает TCP-соединения (порт 5432)?
...
Рейтинг: 0 / 0
14.01.2016, 14:48
    #39147381
qwwq
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как заставить postgres принимать подключения по сети
alexy_blackхм.. решил поменять параметр ssl=true на ssl=false
поменял, там написано, что нужно перезапустить (я так понял что перепрочитать недостаточно). перезапустил, теперь вобще не але (даже после того как обратно поменял). в логах пишут что сервер готов принимать соединения.

Код: sql
1.
2.
3.
4.
psql -h 88.214.236.165 -p 5432 -U fleonis
psql: не удалось подключиться к серверу: В соединении отказано
        Он действительно работает по адресу "88.214.236.165"
         и принимает TCP-соединения (порт 5432)?



раньше был 5433

сколько выпили, поруччик ?
...
Рейтинг: 0 / 0
14.01.2016, 14:51
    #39147386
Павел Лузанов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как заставить postgres принимать подключения по сети
alexy_blackхм.. решил поменять параметр ssl=true на ssl=false
поменял, там написано, что нужно перезапустить (я так понял что перепрочитать недостаточно). перезапустил, теперь вобще не але (даже после того как обратно поменял). в логах пишут что сервер готов принимать соединения.

Код: sql
1.
2.
3.
4.
psql -h 88.214.236.165 -p 5432 -U fleonis
psql: не удалось подключиться к серверу: В соединении отказано
        Он действительно работает по адресу "88.214.236.165"
         и принимает TCP-соединения (порт 5432)?



Ты же по 5433 должен подключаться?

P.S. To qwwq. Я действительно перемудрил с локальными подключениями.
...
Рейтинг: 0 / 0
14.01.2016, 14:52
    #39147389
alexy_black
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как заставить postgres принимать подключения по сети
qwwq
раньше был 5433

сколько выпили, поруччик ?

ой, ну да.. такая же петрушка с 5433 - это я решил протестить еще порт 5432 (у меня почему-то psql на моей машине хочет порт 5432 по умолчанию, а на серваке, в конфигах после установки стоит 5433).
...
Рейтинг: 0 / 0
14.01.2016, 14:54
    #39147390
qwwq
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как заставить postgres принимать подключения по сети
2 ts

для ssl другой префикс строки, родной

Код: sql
1.
hostssl    DATABASE  USER  ADDRESS  METHOD  [OPTIONS]
...
Рейтинг: 0 / 0
14.01.2016, 14:58
    #39147394
alexy_black
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как заставить postgres принимать подключения по сети
qwwq,

ну..
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
 # cat /etc/postgresql/9.4/main/pg_hba.conf |sed -n '/^[^#].*/p'
hostssl all fleonis 46.42.24.34 trust
local   all             postgres                                peer
local   all             all                                     peer
host    all             all             127.0.0.1/32            md5
host    all             all             ::1/128                 md5

# /etc/init.d/postgresql reload
Reloading postgresql configuration (via systemctl): postgresql.service.



это было на сервере, теперь у меня

Код: sql
1.
2.
3.
4.
> psql -h 88.214.236.165 -p 5433 -U fleonis
psql: не удалось подключиться к серверу: В соединении отказано
        Он действительно работает по адресу "88.214.236.165"
         и принимает TCP-соединения (порт 5433)?
...
Рейтинг: 0 / 0
14.01.2016, 15:14
    #39147410
Павел Лузанов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как заставить postgres принимать подключения по сети
alexy_black,

host включает в себя как hostssl, так и hostnossl, поэтому можно вернуть host.

По теме - так и не понятно, после перезагрузки сервер работает или нет (локально к нему можно подключиться?).
...
Рейтинг: 0 / 0
14.01.2016, 15:14
    #39147412
qwwq
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как заставить postgres принимать подключения по сети
сделайте оба
Код: sql
1.
2.
hostssl all            fleonis        46.42.24.34           trust
host    all            fleonis        46.42.24.34           trust



-- чтобы не зависимо от.


но ошибка не об этом, а о том, что по 5433 вас никто не слушает.
или iptales прибить или у вас какой--то еше экран затесался
или вы успели listen_addresses = '*' испортить

т.е. попробуйте таки телнетом по 5433 провалиться
...
Рейтинг: 0 / 0
14.01.2016, 15:25
    #39147420
alexy_black
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как заставить postgres принимать подключения по сети
Павел Лузановalexy_black,

host включает в себя как hostssl, так и hostnossl, поэтому можно вернуть host.

По теме - так и не понятно, после перезагрузки сервер работает или нет (локально к нему можно подключиться?).

с сервера по ssh - можно. зпускаю psql из под postges юзера и работает (список пользоателей вывел).

вернул host - он так пробовал и ssl и без
...
Рейтинг: 0 / 0
14.01.2016, 15:27
    #39147422
alexy_black
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как заставить postgres принимать подключения по сети
Код: sql
1.
2.
3.
> telnet 88.214.236.165 5543
Trying 88.214.236.165...
telnet: Unable to connect to remote host: Connection refused
...
Рейтинг: 0 / 0
14.01.2016, 15:34
    #39147430
qwwq
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как заставить postgres принимать подключения по сети
alexy_black,

стало быть закрыто.
и это, скорее всего, правильно.

Теперь идем на ту машинку, где крутится сайт (по ssh) и проверяем всё то же с неё.
-- вот если и с неё не пускают -- напрягаем одмина.
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / как заставить postgres принимать подключения по сети / 22 сообщений из 22, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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