gpt4 book ai didi

ssh - SSH到中间主机

转载 作者:行者123 更新时间:2023-12-02 14:12:46 25 4
gpt4 key购买 nike

我很难理解SSH隧道问题。问题如下:

本地计算机->中间服务器-> MySQL服务器

只能从中间服务器访问MySQL服务器。我有一个用于中间服务器的SSH帐户。

如何从本地计算机(特别是从PHP)连接到MySQL服务器?我希望能够正常对待MySQL服务器,以便可以对其使用PDO。

我努力了:

  • 打开ssh(shell_exec('ssh -L 3307:intermediate-server:3306 username @ intermediate-server'))坦白说,这并不完全正确。
  • 在端口3307上使用mysqli连接(以查看是否可以建立连接)。

  • 它行不通,我已经尝试了所有我能想到的东西。

    最佳答案

    您的ssh端口映射不正确。

    语法为:

    <port for ssh server to listen on>:<host to forward to>:<port to forward to>

    您正在使用:
    ssh -L 3307:intermediate-server:3306 username@intermediate-server

    您应该使用:
    ssh -L 3307:mysql-server:3306 username@intermediate-server

    换句话说,中间服务器应:
  • 在端口3307上侦听
  • 转发到托管mysql服务器
  • 端口3306上的

  • 其次,您不想从PHP内部启动ssh隧道。您想在另一个过程中单独执行此操作,以使其始终处于打开状态。要么在PHP内部,要么在PHP内部检查隧道是否已关闭,如果已关闭,则放弃ssh连接。

    关于ssh - SSH到中间主机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18454772/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com