首页 > 数据库 > mysql教程 > 如何在 PHP 中通过 SSH 隧道安全连接到远程 MySQL 数据库?

如何在 PHP 中通过 SSH 隧道安全连接到远程 MySQL 数据库?

Barbara Streisand
发布: 2024-11-27 11:37:10
原创
309 人浏览过

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 隧道支持的图形用户界面 (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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板