2012-11-21 66 views
4

我現在已成功運行一個PHP腳本,位於我自己的Linux .us服務器上。我擁有另一個linux.de定位的服務器,沒有Apache/PHP服務。我可以使用第二個盒子作爲SSH隧道或代理或端口反彈或一些東西,所以我可以隱藏我的IP從第一個盒子,以及如何?我已經在第二個盒子中安裝了pbnc,但是我不知道這是否可以實現此目的?我已經知道如何用windows和putty完成這個任務,但是linux終端怎麼可能呢?對不起,我的英語不好,並提前感謝!通過在Linux中的SSH隧道運行PHP腳本

+4

在serverfault上問這個問題更好。投票遷移到'serverfault.com' – Starx

+1

是的,你可以SSH隧道,但我懷疑它更適合另一個堆棧交換站點 - 也許[服務器故障](http://serverfault.com/)/ [超級用戶] (http://superuser.com/),因爲這是比嚴格編程相關的更多網絡/設置。好問題,但。 – nickhar

+1

我認爲如果我們必須使用不同的端口,我們也應該改變我的PHP腳本,以便它可以使用這個端口。這就是爲什麼我使用堆棧溢出:P – Alexandros

回答

1

如果我明白了,您想要通過ssh執行其他服務器上的一個腳本嗎?對?如果出現這種情況,您需要登錄到服務器號碼2,而無需輸入密碼。這很容易。

第一種方法: 您所要做的就是生成ssh密鑰(無密碼)。 Here is how you can do this第二種方法(更好): 我猜你沒有權限在第二個服務器上執行腳本。如果你有權訪問第二臺服務器,這很容易解決。這是你如何做到這一點:

  • 輸入visudo命令
  • 在文件

阿帕奇ALL =(用戶)NOPASSWD的末尾添加這一行:script_path

示例

apache ALL=(clamav) NOPASSWD: /usr/bin/clamscan 

在括號中輸入有權執行腳本的用戶。 srcipt_path位於上面的例子/ usr/bin/clamscan中。

  • ,捲曲從服務器一個你打開服務器的兩個某些文件(LTS調用它的script.php)
  • 編輯的script.php,並添加

$做= EXEC(「some_script some_arguments「)

就是這樣。

+0

[xxxxx] $ visudo -bash:visudo:命令未找到 :D – Alexandros

+0

php腳本位於服務器a/apache服務器在服務器a /上,並且也應該從服務器a 。我只想使用「服務器b」隱藏「服務器」ip。 PHP腳本使用curl來打開網站並獲取其內容。我想讓這個網站看到我的「服務器B」ip而不是a:D – Alexandros

+0

嘗試了沒有運氣的第一種方式。它一直要求我輸入密碼 – Alexandros