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

PHP で SSH トンネル経由でリモート MySQL サーバーに安全に接続する方法

Patricia Arquette
リリース: 2024-11-29 03:33:14
オリジナル
309 人が閲覧しました

How to Securely Connect to a Remote MySQL Server via SSH Tunnel in PHP?

PHP を使用した SSH 経由の MySQL サーバーへの安全な接続

SSH 経由でリモート MySQL サーバーに接続すると、接続を暗号化することでセキュリティが強化されます。 PHP では、mysqli_connect() 関数により、SSH トンネルされた MySQL サーバーへの接続が可能になります。ただし、ssh2_tunnel() を使用して接続を確立しようとすると、開発者は「mysqli_connect() はパラメータ 6 が文字列であることを期待しており、リソースが指定されています。」

SSH トンネル設定

この問題を解決するために推奨されるアプローチは、SSH トンネルを設定することです。コマンド ライン ツールを使用して SSH トンネルを作成するには、次の手順に従います:

  1. SSH クライアントを開きます: 優先 SSH クライアント (PuTTY など) を開き、リモートへの接続を確立します。 Linux マシン。
  2. SSH トンネルを作成します: 次のコマンドを入力して、ローカル ワークステーション ポート (例: 3307) から MySQL サーバーのリモート IP アドレスとポート (例: 10.3.1.55:3306) へのトンネル:
ssh -fNg -L 3307:10.3.1.55:3306 username@ssh-jumpbox.com
ログイン後にコピー
  1. SSH サーバー: 必要に応じて、ローカル ポート転送を許可するように SSH サーバーを構成します。 /etc/ssh/sshd_config ファイルを編集し、次の行を追加します:
AllowTcpForwarding yes
ログイン後にコピー
  1. SSH サーバーを再起動します: SSH サーバーを再起動して変更を適用します。 :
sudo systemctl restart sshd
ログイン後にコピー

PHP接続

SSH トンネルが確立されたら、PHP を使用して MySQL サーバーに接続できます。

$mysqli = new mysqli('127.0.0.1', 'DB_USERNAME', 'DB_PASSWORD', 'dbname', 3307);

if ($mysqli->connect_error) {
  die('Connect Error (' . $mysqli->connect_errno . ') '
      . $mysqli->connect_error);
}
ログイン後にコピー
このコードは、127.0.0.1:3307 でホストされている MySQL データベースに接続します。 、指定されたデータベースのユーザー名、パスワード、データベース名、SSH トンネル用に構成されたポート番号を使用します。

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

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