[2] PostgreSQL 13 – zdalne połączenia

26 stycznia 2022 Wyłączono przez Adam [zicherka] Nogły

Domyślnie dostęp do PostgreSQL jest dostępny tylko z [localhosta], jednak jeśli chcesz uzyskać dostęp ze zdalnego komputera, zmień ustawienia jak poniżej.

[1] Istnieje wiele metod uwierzytelniania w PostgreSQL. W tym przykładzie skonfiguruj metodę hasła MD5.

[root@vlsr01 ~]# mcedit /var/lib/pgsql/data/postgresql.conf
#linia 59: odkomentuj i zmień
#jeśli nasłuchuje tylko na IPv4 ustaw [0.0.0.0]
listen_addresses = '*'
[root@vlsr01 ~]# mcedit /var/lib/pgsql/data/pg_hba.conf
#dodaj na końcu
# TYPE  DATABASE        USER            ADDRESS                 METHOD
# "local" is for Unix domain socket connections only
local   all             all                                     peer
# IPv4 local connections:
host    all             all             127.0.0.1/32            ident
# IPv6 local connections:
host    all             all             ::1/128                 ident
# Allow replication connections from localhost, by a user with the
# replication privilege.
local   replication     all                                     peer
host    replication     all             127.0.0.1/32            ident
host    replication     all             ::1/128                 ident
#wpisz sieci, którym zezwalasz na łączenie się z bazą w sekcji [ADDRESS]
#jeśli chcesz zezwolić wszystkim, wpisz [0.0.0.0/0]
host    all             all             192.168.0.0/16          md5

[root@vlsr01 ~]# systemctl restart postgresql

[2] Jeśli Firewalld jest uruchomiony to zezwol PostgrSQL na łączność.

[root@vlsr01 ~]# firewall-cmd --add-service=postgresql --permanent
[root@vlsr01 ~]# firewall-cmd --reload

[3] Aby móc się połączyć z PostgreSQL za pomocą hasła MD5, musimy utworzyć to hasło dla użytkownika bazy danych.

#podłącz się do bazy danych
[user01@vlsr01 ~]$ psql -d testdb
psql (13.5)
Type "help" for help.
#utwórz lub zmień hasło
testdb=> \password
Enter new password: #wpisz hasło
Enter it again: #wpisz hasło ponownie
testdb=> \q
# możliwość ustawienia lub zmiany hasła dla dowolnego użytkownika z administratorem PostgreSQL
[postgres@vlsr01 ~]$ psql -c "alter user user01 with password 'TajneHasło';"
ALTER ROLE

[4] Sprawdź możliwość podłączenia się do PostgreSQL za pomocą hasła MD5, ze zdalnego hosta.

[root@vlsr02 ~]# psql -h vlsr01.zicher.lab -d testdb -U user01
Password for user user01: #wpisz hasło
psql (13.5)
Type "help" for help.

testdb=> #jesteśmy podłączeni