通过php中的ssh连接对请求进行隧道传输



给定在机器A上使用例如创建的到机器B的ssh隧道

ssh -D 9999 user@remote-server-ip-machine-B

在php中,如何使用stream_socket_client()从机器A向机器C发出请求,以便通过上述隧道(例如)发出这些请求

$socket = stream_socket_client("tls://$ip-machine-C:$port", $errno,$errstr, 60, STREAM_CLIENT_CONNECT, $context);

换言之,请求必须来自机器a上运行的php脚本,该脚本对机器C发出,但对机器C来说,请求必须看起来像是来自机器B(与机器C的连接需要使用tls)。

或者,有没有一种方法可以在不使用ssh隧道的情况下直接在php中实现相同的最终结果?

p>我发现解决这个问题的最佳方法是使用类似OpenVPN的VPN(将机器a连接到机器B)或一个非常有用的脚本sshuttle,这是一个透明的代理服务器,可以作为穷人的VPN。

最新更新