2014-01-27 137 views
1

我有一些項目要做,但殺死自己,不能做任何事情,我需要你的幫助。 我必須讓PHP命令使用SSH連接。 我使用膩子,輸入IP和端口,比瀏覽.PPK文件(密鑰認證文件)和輸入用戶名和密碼,使用命令重新啓動後。所以服務器正在重新啓動。在PHP中的SSH連接和命令

現在,我要讓這一切只需使用PHP的,我想打一個文本框和提交按鈕,在搜索框中輸入IP地址,然後點擊提交按鈕,它應該在後臺這一切reboot命令時。 (端口默認爲22)。我將製作此文本框和按鈕,但無法獲取如何使用命令和密鑰身份驗證進行此連接。 如果有人知道這個請幫我解決這個問題。我不能再忍受了。

+0

http://stackoverflow.com/questions/6270419/how-to-execute-ssh-commands-via-php – Hackerman

回答

1

您必須使用phpseclib

  • herehere(直接鏈接)下載。

  • 它列入到您的項目。

然後:

include('Net/SSH2.php'); 
$ssh = new Net_SSH2('www.example.com'); 
$ssh->login('username', 'password') or die("Login failed"); 
// $ssh->getServerPublicHostKey(); if this is your first time connecting 
// check $ssh->getServerPublicHostKey() against previously saved 
//        value on subsequent connections 
echo $ssh->exec('reboot'); 
+0

我從你的鏈接donwloaded PHPseclib和上傳到服務器上。包括('Net/SSH2.php');創建index.php後的代碼: include('Net/SSH2.php'); $ ssh = new Net_SSH2('IP address',22); $ ssh-> login('myusername','mypass')或死(「登錄失敗」); echo $ ssh-> exec('reboot'); 之後要做什麼說登錄失敗。我必須提供密鑰文件嗎? – user3185991

+0

你試過'$ ssh = new Net_SSH2('IP地址');'沒有端口號? –

+0

還沒有,但我能不明白的地方我已經把身份驗證我的PPK密鑰文件,無需鑰匙AUTH它不記錄 – user3185991