【问题标题】:Connect through PHP to MySql on EC2 instance with key-based authentication使用基于密钥的身份验证通过 PHP 连接到 EC2 实例上的 MySql
【发布时间】:2013-03-07 02:59:55
【问题描述】:

我有一个运行 mysql 服务器的 EC2 实例,该服务器使用基于密钥的身份验证来连接它。我需要通过 PHP 从不同的非亚马逊服务器连接到此 EC2 实例上的 mysql 服务器。这可能吗?如果是这样,我该怎么做?我需要在 PHP 中使用 ssh2 连接函数吗?显然,我不能只使用 mysql_connect,因为服务器使用基于密钥的身份验证。任何人都可以提供任何帮助将不胜感激。

【问题讨论】:

    标签: php mysql ssh amazon-ec2


    【解决方案1】:

    我将假设基于密钥的身份验证是指 ssh 密钥,而不是使用密钥连接到 mysql。

    所以你有几个选择。

    1. 使用 SSH 隧道。这在您的非 amzn 服务器上使用 ssh 侦听器,并通过 SSH 将所有通信转发到 mysql 实例。这更安全,但并非没有一些开销。

    2. 如果安全性不那么重要,您可以将您的安全组打开到非 amzn 服务器的 ip,并直接建立到端口 3306(或您使用的任何端口)的连接

    无论如何,您最终都会遇到一些延迟运行这样的查询。取决于您的服务器之间的连接。

    【讨论】:

    • 是的,我的意思是 ssh 密钥。如何在 php 中建立这个连接?
    • 你必须在 php.ini 之外设置隧道。它将作为一个单独的进程运行。完成此操作后,您将使用 localhost 作为主机名和隧道正在侦听的端口连接到 mysql。
    • 是的,我了解如何设置隧道。我需要通过 php 连接到服务器,但服务器使用基于密钥的身份验证。如何通过 php 使用基于密钥的身份验证连接到服务器?
    • 隧道处理。您需要做的就是连接到隧道。
    • 哦,好吧,我明白了。我要试试这个。感谢您的信息。
    猜你喜欢
    • 1970-01-01
    • 2017-03-22
    • 2013-02-15
    • 1970-01-01
    • 2021-01-04
    • 1970-01-01
    • 2020-04-28
    • 2012-01-23
    • 1970-01-01
    相关资源
    最近更新 更多