gpt4 book ai didi

php - 如何在 PHP 中连接中间 ssh 服务器连接

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

如何通过中间服务器从 PHP 连接 linux 服务器。

本地机器(A) --> 中间服务器(linux机器)(B) --> Linux机器(C)

我想连接 A->B 然后 B->C 系统。
我使用了下面的代码。

$connection = ssh2_connect('121.2.3.11', 22); // 
ssh2_auth_pubkey_file($connection, 'username', 'id_dsa.pub', 'id_dsa'); // (B) system connection

$tunnel = ssh2_tunnel($connection, '121.2.3.12', 12345); // (C) system connection

在这里,在哪里为 C ("121.2.3.12") 系统提供用户名/密码。

最佳答案

你有 copied and pasted手册中的示例没有明显阅读/理解 ssh2_tunnel 的作用。

您似乎期望 ssh2_tunnel 创建一个 ssh 连接 - 它没有。它创建一个原始 TCP 套接字连接,该连接通过现有的 ssh 连接进行隧道传输。

你真的有一个监听 12345 端口的 ssh 服务器吗?

虽然有时有充分的理由在 ssh 连接中建立 ssh 连接,但这些都是非常不寻常的情况,没有证据表明它们适用于此。如果它们不适用,那么 ssh 内的 ssh 效率非常低,您应该改为中继连接。我不确定你会怎么做,因为大多数 ssh 登录都会清除缓冲的输入,所以你需要轮询/响应提示。

您向我们展示的代码中没有错误检查。您应该检查每个函数的返回值以检查它们是否成功。

关于php - 如何在 PHP 中连接中间 ssh 服务器连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35792257/

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