PostgreSQL 15 リモート接続の設定方法

環境
Ubuntu 23.04
PostgreSQL 15

操作例
1.scram-sha-256 パスワードによる認証方式を設定します。
# vi /etc/postgresql/15/main/postgresql.conf

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# 60行目 : コメント解除して変更
listen_addresses = '*'
# vi /etc/postgresql/15/main/pg_hba.conf
# 60行目 : コメント解除して変更 listen_addresses = '*' # vi /etc/postgresql/15/main/pg_hba.conf
# 60行目 : コメント解除して変更
listen_addresses = '*'

# vi /etc/postgresql/15/main/pg_hba.conf

2.postgresql.confに最終行に追記

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# [ADDRESS] には接続を許可するネットワークを指定
# 全て許可する場合は [0.0.0.0/0]
# [DATABASE], [USER] 列で接続許可するデータベースやユーザーも限定可
host all all 10.0.0.10/24 scram-sha-256
# [ADDRESS] には接続を許可するネットワークを指定 # 全て許可する場合は [0.0.0.0/0] # [DATABASE], [USER] 列で接続許可するデータベースやユーザーも限定可 host all all 10.0.0.10/24 scram-sha-256
# [ADDRESS] には接続を許可するネットワークを指定
# 全て許可する場合は [0.0.0.0/0]
# [DATABASE], [USER] 列で接続許可するデータベースやユーザーも限定可
host all all 10.0.0.10/24 scram-sha-256

3.postgresqlを再起動します。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# systemctl restart postgresql
# systemctl restart postgresql
# systemctl restart postgresql

4.任意の PostgreSQL ユーザーでパスワード認証でデータベースへ接続するために、
パスワードをセットします。
1).自身が所有するデータベースに接続する

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
 $ psql -d sampledb
 $ psql -d sampledb
 $ psql -d sampledb

2).自身のパスワードを設定/変更する

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
 sampledb=> \password
Enter new password:
Enter it again:
sampledb=> \q
 sampledb=> \password Enter new password: Enter it again: sampledb=> \q
 sampledb=> \password
Enter new password:
Enter it again:
sampledb=> \q

3).PostgreSQL 管理ユーザーから任意のユーザーのパスワードを設定/変更する

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
 $ psql -c "alter user ubuntu with password 'password';"
ALTER ROLE
 $ psql -c "alter user ubuntu with password 'password';" ALTER ROLE
 $ psql -c "alter user ubuntu with password 'password';"
ALTER ROLE

5. 設定が完了したら、PostgreSQL でアクセス許可を設定したネットワーク内の任意のホストから接続確認をしておきます。scram-sha-256 認証での接続は自動的に TLS による暗号化通信となります。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# psql -h www.arkgame.com -d sampledb -U ubuntu
Password for user ubuntu: # 設定したパスワード
# psql -h www.arkgame.com -d sampledb -U ubuntu Password for user ubuntu: # 設定したパスワード
# psql -h www.arkgame.com -d sampledb -U ubuntu
Password for user ubuntu: # 設定したパスワード

 

Ubuntu 23.04

Posted by arkgame