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

时间:2012-03-01 15:06:48

标签: php proxy ssl ssh-tunnel

给定在机器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上的请求必须看起来像是来自机器B(需要使用机器C建立连接) TLS)。

或者,有没有办法在没有ssh隧道的情况下直接在php中实现相同的最终结果?非常感谢任何帮助

1 个答案:

答案 0 :(得分:1)

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