LoginSignup
3
3

More than 5 years have passed since last update.

VirtualBox上のCentOSにインストールしたPostgreSQLに外部接続する際にハマった

Last updated at Posted at 2015-02-10

1日無駄にしたので、記録残しておきます。
VirtualBox上にCentOS6を作って、PostgreSQLをインストールし、ホストマシンからpsqlでアクセスしようとしましたが、
上手く行きませんでした。
失敗したコマンドは以下の通り。

> psql -h ipアドレス -U ユーザ名 データベース名

ホストマシンや、CentOS自身のコンソールから実行した↑のコマンドに対して、
↓のようなエラーを返してテコでも動きませんでした。

FATAL: no pg_hba.conf entry for host ipアドレス user "ユーザ名", database "データベース名", SSL off

上記のエラーメッセージを検索して出てくる解決策である、
data/pg_hba.confの『host all all 0.0.0.0/0 trust』
や、
data/postgresql.confの『listen_addresses = '*'』
も設定したのにダメ。
VirtualBoxのネットワーク設定でホストオンリーアダプターも設定済み(ipアドレスはデフォルトの192.168.56.1)だし、
ipアドレスにpingを打ってもちゃんと通るし、
PortQryを使って5432ポートを調べてもLISTENになってました。
iptablesやhosts.allowなんかも調べても問題なし。

そして、CentOS自身のコンソールから
> psql -h 192.168.56.1 -U ユーザ名 データベース名
だと通らないのに、
> psql -h 127.0.0.1 -U ユーザ名 データベース名
だと通る。

で、打つ手なし状態になっていたのですが、
別の問題を解決したら、一緒に解決しました。

CentOSにTeraTermからssh接続しようとしても「接続が拒否されました」と言われてログインできなかったのですが、
VirtualBox上のCentOSにssh接続する情報を探して、
/etc/sysconfig/network-scripts/ifcfg-eth1
を修正し、
IPADDR=192.168.56.2
と設定したら、sshもpsqlも192.168.56.2でつながりました。
(※上記ファイルの他の項目も修正しましたが、本筋ではないので省略。)

という事で、同じようなエラーにハマったら、
一度「/etc/sysconfig/network-scripts/ifcfg-eth1」を検討してみると解決するかも。

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3