2016-04-13 26 views
1

私はそれにPostgresと迷惑メールマシンを持っている。私はいくつかの外部ツール(例えば、pgmodeler、keetle)を使ってこのデータベースに接続する必要があります。 だから私は使用してトンネルを開始します。迷惑メールpostgres sshトンネル

ssh -L 5433:127.0.0.1:5432 [email protected] -i puphpet/files/dot/ssh/id_rsa 

その後、私はコマンドを使用してログインしよう:

psql -h 127.0.0.1 -p 5433 -U postgres postgres 

そして、私はエラーを取得する:

FATAL: password authentication failed for user "postgres" 

私は少し混乱していますので、以前はそれが働いていましたが、今はそうではありません。私はユーザーのパスワードを設定しようとしましたが、動作しませんでした。どこで問題を探すべきですか?

+0

迷惑メールを使用してポートを転送しないのはなぜですか? https://www.vagrantup.com/docs/networking/forwarded_ports.html – zerkms

+0

OK。だから私はあなたのソリューションを試してみましたが、まだ問題があります。私はPostgresに問題があると思う。おそらくpg_hba.confファイルにありますか? – doubleB

+0

これは設定の問題です。迷惑メールマシンのpg_hba.confを表示します。 –

答えて

1

postgresサーバのファイルpg_hba.confを調整して、どのユーザの接続が許可されているかをpostgresに伝える必要があります。 debianのようなディストリビューションでは、このファイルは/etc/postgresql/9.1/main/pg_hba.confにあります。放浪して開発する場合

私は通常は、すべてのユーザーが本番サーバー ON THIS LINEを使用することはありません

# IPv4 connections from everywhere: 
host all    all    0.0.0.0/0    trust 

パスワードなしでどこからでもを接続することができますpg_hba.confの中に次のエントリを使用します

上には、ポートを転送するためのVagrantfileに次の行があります。

Vagrant.configure(2) do |config| 
    # more stuff 
    config.vm.network "forwarded_port", guest: 5432, host: 5433, host_ip: "127.0.0.1" 
end 

host_ipをlocalhostに設定することを忘れないでください。それ以外の場合、postgresはローカルマシンのすべてのネットワークインターフェイスにバインドされます。

+0

OK。私は問題を発見した。ローカルではPostgresもインストールされています。だから私はそれをオフに切り替える必要があったと今すぐ動作します。しかし、私はそれを両方持っていることはできませんか? – doubleB

+0

もちろん、Vagrantfileのホストポートを変更することもできます。 5433あなたのトンネルでそれをしたように。 – dahrens

関連する問題