ホームページ > データベース > mysql チュートリアル > PHP で SSH トンネリング経由でリモート MySQL データベースに安全に接続する方法

PHP で SSH トンネリング経由でリモート MySQL データベースに安全に接続する方法

Barbara Streisand
リリース: 2024-11-27 11:37:10
オリジナル
264 人が閲覧しました

How to Securely Connect to a Remote MySQL Database via SSH Tunneling in PHP?

PHP で SSH 経由で安全なリモート MySQL 接続を確立する

このシナリオでは、リモート MySQL データベースへの接続を確立する際に課題が発生します。 SSHとPHPを使用します。必要な権限を付与しているにもかかわらず、「アクセスできません」エラーが継続します。

問題への対処

この問題を解決するには、SSH トンネリング アプローチを採用します。これには、SSH プロキシ (通常は Jumpbox サーバー) を介してデータベース サーバーへの安全な接続を作成することが含まれます。この設定により、データ交換用の暗号化チャネルが提供され、データベース サーバーの直接公開に伴うセキュリティ リスクが軽減されます。

SSH トンネル構成

  1. GUI ツール: 組み込みの SSH トンネリング サポートを提供する Visual Studio Code や TablePlus などのグラフィカル ユーザー インターフェイス (GUI) ツールの使用を検討してください。これらにより、プロセスが簡素化され、ユーザー エクスペリエンスが向上します。
  2. コマンド ライン:

    a. 「-L」スイッチを使用してワークステーション上にローカル ポート転送トンネルを確立します:

    ssh -fNg -L 3307:10.3.1.55:3306 [email protected] 
    ログイン後にコピー

    ここで:

    • 3307: 接続を受け入れるためのローカル ポート
    • 10.3.1.55: リモート MySQL データベース サーバーの IPアドレス
    • 3306: MySQL データベース サーバーのポート

    b.ローカル ポート経由でデータベース サーバーに接続します:

    mysql -h 127.0.0.1 -P 3307 -u dbuser -p passphrase
    ログイン後にコピー

    ここで:

    • 127.0.0.1: Localhost (ワークステーション)
    • 3307: ローカル ポートが確立されましたステップでa
  3. PHP 接続:

    トンネルが確立されたら、次のように PHP を使用して MySQL データベースに接続します。

    <?php
       $smysql = mysql_connect("127.0.0.1:3307", "dbuser", "passphrase");
       mysql_select_db("db", $smysql);
    ?>
    ログイン後にコピー

追加考慮事項

  • セキュリティを強化するために、リモート ネットワーク上の内部アドレスにトラフィックを転送します。
  • パスワードの代わりに秘密キーを認証に使用します。

以上がPHP で SSH トンネリング経由でリモート MySQL データベースに安全に接続する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート