2012-03-01 30 views
2

給定在機器A上創建的ssh隧道來加工B。通過在php中的ssh連接的隧道請求在使用例如php

ssh -D 9999 [email protected] 

在php中如何將一個使使用stream_socket_client從機器A到設備C的請求(),使得這些請求經由上述隧道由例如

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

換句話說,請求必須在機器C,但到設備C的請求國產機正在運行,必須看起來像他們從機器B(到設備C的需求進行連接來從PHP腳本起源使用tls)。

或者,有沒有辦法在沒有SSH隧道的情況下直接在php中實現相同的最終結果?任何幫助,這將是非常讚賞

+0

對上述問題做了缺乏反應,並做了一些更多的研究後,我現在試圖找到一種方法讓PHP通過襪子代理作出任何外部網絡請求,即如果我能得到這個權利,然後我可以通過ssh隧道獲取stream_socket_client()的請求。對於這個特定問題的任何幫助也將不勝感激。 – 2012-03-02 13:01:30

回答

1

我找到解決這個問題的最好辦法是使用VPN像OpenVPN(連接機器A到B機)或稱爲sshuttle一個非常有用的腳本,這是一個透明代理服務器,作爲一個窮人的VPN。