pgAdmin4およびDBeaverでリモートデータベースに接続する方法


ファイル転送。

SSHを使用して、通常は暗号化されていない他のネットワーク接続を転送するためのコンピューター間に安全な通信トンネルを作成することもできます。これは、SSHトンネリング(またはポート転送)と呼ばれる手法です。

SSHトンネリングまたはポートフォワーディングを使用する一般的なシナリオは次のとおりです。

  • アクセスしようとしているリモートサービスのポートがファイアウォールでブロックされている場合。
  • 暗号化などを本質的に使用しないサービスに安全に接続したい。

たとえば、サーバーAのポート5432で実行されているリモートPostgreSQLデータベースクラスターに接続したいが、そのポートへのトラフィックはサーバーB(SSHアクセス権がある)からのみ許可されている場合です。サーバーBを介してSSH接続(トンネル)を介してトラフィックをルーティングし、データベースクラスターにアクセスできます。

このガイドは、Linuxシステムにpgadmin4およびDBeaverデータベース管理ツールがインストールされていることを前提としています。それ以外の場合は、次のガイドを確認してください。

  • CentOS8にPostgreSQLとpgAdminをインストールする方法
  • RHEL8にPostgreSQLとpgAdminをインストールする方法
  • PgAdmin 4Debian10/11をインストールする方法
  • Ubuntu20.04にPostgreSQLとpgAdmin4をインストールする方法
  • LinuxMint20にpgAdmin4を使用してPostgreSQLをインストールする方法
  • LinuxにDBeaverユニバーサルデータベースツールをインストールする方法

pgadmin4でSSHトンネリングを構成する

pgadmin4アプリケーションを開き、新しいサーバー接続を作成することから始め、[オブジェクト]タブに移動し、[作成]をクリックして[サーバー]をクリックします。ポップアップウィンドウの[全般]タブで、次のスクリーンショットで強調表示されているサーバー名を入力します。

次に、[接続]タブをクリックして、データベース接続設定を入力します。データベースサーバーのIPアドレスまたはFQDN(完全修飾ドメイン名)を入力します。次に、ポート、データベース名、データベースユーザー名、およびユーザーのパスワードを設定します。

[パスワードの保存]をオンにすると、データベースに接続しようとするたびにパスワードの入力を求められないように、パスワードをローカルに保存できます。

次に、[SSHトンネル]タブをクリックします。 [SSHトンネリングを使用する]オプションをオンにして、トンネルホスト、トンネルポート、SSHユーザー名を入力し、認証タイプ(パスワードまたはIDファイル)を選択します。

公開鍵認証を使用することをお勧めします。そのため、IDENTITY FILEを選択し、ローカルマシンから秘密鍵ファイルを選択します。次に、次のスクリーンショットで強調表示されているように[保存]をクリックします。

データベース接続とSSHトンネルの両方に提供された設定と資格情報が正しく有効である場合、トンネルとデータベース接続は正常に確立されているはずです。

DBeaverでSSHトンネリングを構成する

DBeaverを起動した後、次のスクリーンショットに示すように、[データベース]タブに移動し、[新しいデータベース接続]をクリックします。

次のスクリーンショットで強調表示されているリストからデータベースドライバを選択し、[次へ]をクリックします。

次に、次のスクリーンショットで強調表示されているように、データベース接続設定、データベースホストのIPまたはFQDN、データベース名、データベースユーザー名、およびユーザーのパスワードを入力します。次に、[SSH]タブをクリックして、次の手順で説明するトンネル接続設定を入力します。

[SSHトンネルを使用する]オプションをオンにしてSSHを有効にします。トンネルホスト、トンネルポート、SSH接続ユーザー名を入力し、認証方法を選択します。

いつものように、公開鍵認証を使用することをお勧めします。次に、秘密鍵へのパスを選択または入力します。次に、次のスクリーンショットで強調表示されているように、[完了]をクリックします。

注:秘密鍵にパスフレーズが含まれている場合は、それを提供する必要があります。

データベース接続とSSHトンネルの設定が正しく有効であれば、接続は成功するはずです。これで、リモートデータベースを安全に操作できます。

詳細については、DBeaverSSH接続のドキュメントを確認してください。