2013-02-10 60 views
1

我有一個簡單的CGI頁面(運行在linux,apache上)可以從遠程服務器獲取一些響應。當我手動運行腳本(從終端)時,它會正確迴應完整的網頁,包括所有遠程響應。但是當我打開瀏覽器時,響應不在那裏!遠程SSH命令響應不會出現在CGI的瀏覽器中

這裏是我的腳本供參考。

#!/bin/bash 
echo "Content-type: text/html" 
echo "" 
echo "<html class="background"><head><title>My Page" 
echo "</title></head><body>" 
echo "" 

echo "<h2>Local Uptime :</h2>" 
echo `uptime` #Local commands work normally 

echo "<h2>Remote Uptime: </h2>" 
echo `/usr/bin/ssh [email protected] "uptime"` 

echo "</body></html>" 

當然,我之前設置了無密碼登錄的密鑰。

+1

當你手動運行它,你運行它作爲您的Web服務器運行相同的用戶?例如,'sudo -u apache YOUR_SCRIPT' – twm 2013-02-10 16:23:59

+0

「* ...迴應不存在!*」所有回覆都丟失或只有遠程回覆? – alk 2013-02-10 16:32:32

+0

只有遠程響應丟失.. – 2013-02-11 12:50:55

回答

0

檢查以確保selinux已關閉(或爲web瀏覽器設置正確的選項以執行ssh)。

cat /selinux/enforce 

如果它的1將其設爲0作爲根

echo 0 > /selinux/enforce 
+0

我沒有啓用selinux! – 2013-02-11 12:51:55