2011-08-05 43 views
0

我一直在使用Python來完成我想要完成的大部分工作。但是,爲了拓寬視野,我正在嘗試學習PHP。如何使用PHP ssh進入Ubuntu服務器?下面是幾行代碼(形式詢問用戶的IP地址):如何使用ssh登錄到嵌入式ubuntu服務器

<form name="form1" method="post" action="connect.php"> 
<label>Connect: 
<input type="text" name="connect" onclick="this.value='';" onfocus="this.select()" onblur="this.value=!this.value?'Enter IP Address To Connect':this.value;" value="Enter IP Address To Connect"/> 
    </label> 
    <label> 
    <input type="submit" name="Submit" value="Submit"/> 
    </label> 
</form> 

此外,有沒有可以顯示的讓用戶知道他她如(登錄/東西...連接:綠色單選按鈕;斷開:紅色單選按鈕)?謝謝。

回答

0

@Kounavi - 不是所有的主機讓你做exec()或system()或其他。

我的建議是使用phpseclib, a pure PHP SSH implementation。例如:

<?php 
include('Net/SSH2.php'); 

$ssh = new Net_SSH2('www.domain.tld'); 
if (!$ssh->login('username', 'password')) { 
    exit('Login Failed'); 
} 

echo $ssh->exec('pwd'); 
echo $ssh->exec('cd /'); 
echo $ssh->exec('pwd'); 
?> 
+0

是的,但你可以ssh(這裏正是問題的要點)。無論您是可以執行/系統還是在主機中執行其他任何操作,都完全取決於負責引用機器的管理員授予的權限。如果他想遠程發送命令,他可以使用expect工具(自動化安裝/終端命令等),或者他/她可以遵循你的建議;):) xD – Kounavi

1

閱讀一些有關SSH in PHP

+0

我會在家裏這個週末...只是尋找快速和骯髒的東西讓我在工作時開始......非常聰明的回答天才,哎呀我的意思是成因。謝謝! – suffa

+0

幫助...?讓我們說在這個網站上啓發我一些......不是在我的問題。 – suffa

1

爲什麼不使用bash ssh登錄?
這很容易,你很快就會起來跑步!除非你的程序不需要在Windows上運行(或者任何非Nix的其他風格),請嘗試寫入-portable-bash代碼。

PS:如果你有一個SSH庫自動化他們SSH-ING的任務將容易得多(即:使用ssh-附加的ssh-agent);)

相關問題