3

Navicatを使用してSSH経由でEC2サーバーのPostgreSQLにログインしようとしています。

次のエラーメッセージが表示されます。

「80070007:SSHトンネル:接続時のソケットエラー。WSAGetLastErrorは10061($ 274D)を返します。」

サーバーには、「ロール」postgresがすでに存在し、postgresというデータベースがすでに存在します。postgresにパスワードを割り当てました(Putty経由でALTER NAMEコマンドを使用)。

Navicatで使用しているSSH設定は次のとおりです。ポート:5432ユーザー名:[管理者ユーザー名]認証方法:公開鍵

接続設定は次のとおりです。ホスト名:localhostポート:3306初期データベース:postgresユーザー名:postgresパスワード:[パスワード]

同じマシン上のMySQLサーバーに接続する場合、設定は次の点を除いてまったく同じです。

ポート22へのSSHユーザー名(接続用):root(対応するパスワード付き)

ポート22へのSSHを試しました。この場合、エラーメッセージは次のとおりです。

「サーバーに接続できませんでした:接続が拒否されました(0x0000274D / 10061)サーバーはホスト「localhost」で実行されており、ポート60122でTCP / IP接続を受け入れていますか?SSLネゴシエーションに対して無効な応答を受け取りました:4」

これを機能させるために変更する必要がある設定についてのアイデアはありますか?

4

1 に答える 1

2

あなたの設定は非常に間違っているようです。

ssh ポートは 5432 ではなく、22 (ssh のデフォルト) にする必要があります。

postgresql ポートは 3306 (実際には MySQL) ではなく、5432 (postgres のデフォルト) にする必要があります。

セットアップを確認するには、EC2 インスタンスに手動で SSH 接続してみてください。ssh でログインしたら、「telnet localhost 5432」を実行できるかどうかを確認します。すぐにエラーが表示される場合は、postgres サーバーが実行されていないことを意味します。何も表示されない場合 - これは良い兆候であり、Postgres が実行されていることを意味します。Ctrl-]、q、Enter で終了できます。

EC2 インスタンスでは、(パスワードではなく) ssh 公開鍵認証を使用する必要がある場合があることに注意してください。この場合、Navicat でそのようなキーを提供するオプションを見つける必要があります。

于 2012-10-21T05:06:50.390 に答える