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

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

Patricia Arquette
リリース: 2024-11-29 00:52:11
オリジナル
701 人が閲覧しました

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

PHP で SSH 経由で MySQL に接続する

背景: データベース接続のための SSH トンネリング

SSH 経由でリモート データベースに接続すると、安全かつ効率的な接続が可能になります。データアクセスの手段。 SSH は、MySQL クエリが送信される暗号化チャネルとして機能し、機密情報を傍受から保護します。

SSH トンネル構成

SSH トンネルを確立するには、-L スイッチを指定して ssh コマンドを使用します。ローカルポート転送を指定します。このスイッチは、指定されたローカル ポートからのトラフィックを、SSH 経由でデータベース サーバーのリモート IP アドレスとポートにリダイレクトします。

たとえば、次のコマンドは、ローカル ポート 3307 から 10.3.1.55 のデータベース サーバーへのトンネルを設定します。 3306 ssh-jumpbox.com の SSH プロキシ経由:

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

経由の MySQL 接続トンネル

トンネルが確立されたので、ローカル ポート経由でデータベースに接続するように PHP アプリケーションを構成します。これには、以下の例に示すように、MySQL 接続関数のホスト パラメータとして「127.0.0.1:3307」を指定することが含まれます。

$smysql = mysql_connect("127.0.0.1:3307", "dbuser", "passphrase");
ログイン後にコピー

この接続文字列は、MySQL がローカル ポート 3307 を使用するようにポイントします。 SSH トンネル経由でデータベース サーバーに転送されます。

トラブルシューティング: パラメータの解決不一致

mysqli_connect 使用時のエラー「mysqli_connect() はパラメーター 6 が文字列であることを期待し、リソースが指定されています」は、関数パラメーターの不一致を示します。 5 番目のパラメーター (トンネル リソースである必要があります) が、リソース自体ではなく、リソース接続の詳細を含む文字列であることを確認してください。

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

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