首頁 >資料庫 >mysql教程 >如何在 PHP 中透過 SSH 隧道安全連接到遠端 MySQL 資料庫?

如何在 PHP 中透過 SSH 隧道安全連接到遠端 MySQL 資料庫?

Barbara Streisand
Barbara Streisand原創
2024-11-27 11:37:10269瀏覽

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 工具: 考慮使用提供內建圖形使用者介面(GUI) 工具,例如Visual Studio Code 或TablePlus。它們簡化了流程並增強了使用者體驗。
  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:本地主機(您的工作站)
    • 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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn