1
我一直在尋找在谷歌這一點,但不是很多人似乎寫的bash CGI ...慶典CGI遠程ssh
所以我有一個在瀏覽器上運行,並採取用戶輸入一個小CGI bash腳本,並它應該遠程SSH到遠程服務器並獲得其正常運行時間並將其存儲在臨時文件中。
ssh密鑰交換已完成,我可以在沒有密碼的情況下ssh進入該方框。 我知道變量正在傳遞腳本,因爲它確實回顯了用戶輸入的內容。 而且我知道它會嘗試用ssh對遠程主機執行某些操作,因爲當點擊提交時頁面會加載一段時間。
但是,當我看着臨時文件時,什麼都沒有,所以不知怎的,ssh失敗了,但沒有留下任何錯誤。
任何人都有使用CGI bash的遠程ssh的經驗?
#!/bin/bash
echo "Content-type: text/html"
echo '<html>'
echo '<head>'
echo '<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">'
echo '</head>'
echo '<body>'
echo "<form method=GET action=\"${SCRIPT}\">"\
'<table nowrap>'\
'<tr><td>Input</TD><TD><input type="text" name="name" size=12></td> </tr>'\
'</table>'
echo '<br><input type="submit" value="Process Form">'\
'<input type="reset" value="Reset"></form>'
NAME=`echo "$QUERY_STRING" | sed -n 's/^.*name=\([^&]*\).*$/\1/p' | sed "s/%20/ /g"`
echo "NAME: " $NAME
ssh -o ConnectTimeout=3 -q $NAME uptime > /var/tmp/uptime
cat /var/tmp/uptime
不要你所需要的內容類型之間的空行實際內容? – 123
哦,我有,我剛剛刪除該行,以節省後的空間:) – chrissk8er